Skip to content

Commit 9a75d20

Browse files
committed
gogoring
1 parent 615740c commit 9a75d20

File tree

1 file changed

+53
-1
lines changed

1 file changed

+53
-1
lines changed

_posts/2025-01-23-[Pandas] 07. 데이터가공 날짜.md

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ df['Time Shift1'] = df['Temp'].shift(1)
150150
df['pct change'] = (df['Time Shift1'] - df["Temp"]) / df['Temp']
151151
```
152152

153-
# apply, map, 문자열
153+
# 08. apply, map, 문자열
154154

155155
titanic_train.csv 사용
156156

@@ -238,6 +238,7 @@ df2.loc[miss_mask]
238238
df2["Name"] = df2["Name"].str.replace(",", "⭐️")
239239
```
240240

241+
<<<<<<< Updated upstream
241242
# 09. 데이터 결합
242243

243244
korean-idol_csv 사용
@@ -270,12 +271,46 @@ pd.concat([df1, df3], axis=1 ) # 값이 결합 될 수 없는 곳엔 Nan값이
270271

271272
### left, right
272273
- 기준이 왼쪽, 기준이 오른쪽
274+
=======
275+
# 09. 데이터 결합
276+
277+
## concat
278+
### row 기준 합치기
279+
- aixs = 0
280+
- 행 데이터의 생성 방향, 아래쪽
281+
- 열 인덱스 기준으로 결합
282+
283+
```python
284+
df1_concat = pd.concat([df1, df1_copy], axis = 0)
285+
df1_concat.reset_index(drop=True) # 기존에 사용하던 인덱스를 drop하고 인덱스 리셋
286+
```
287+
288+
### column 기준 합치기
289+
- axis = 1
290+
- 열 데이터의 생성 방향, 옆쪽
291+
- 행 인덱스 기준으로 결합
292+
293+
```python
294+
pd.concat([df1, df2], axis = 1) # 열방향(옆으로), 행 인덱스가 같은 것 끼리
295+
```
296+
297+
## merge
298+
- `concat`: `row``column`기준으로 단순하게 이어 붙이기
299+
- `merge`: 특정한 고유 키(`unique id`)값을 기준으로 병합
300+
301+
`pd.merge(left, right, on='기준 컬럼', how='left')
302+
- `left`, `right` : 병합할 두 DataFrame
303+
- `on`: 병합의 기준이 되는 컬럼의 이름
304+
- 기준이 되는 데이터프레임은 삭제가 일어나지 않음!!!
305+
- `how`: `left, right, inner, outer` 4가지의 병합방식 설정
306+
>>>>>>> Stashed changes
273307
274308
```python
275309
pd.merge(
276310
df1,
277311
df2_right,
278312
on = '이름',
313+
<<<<<<< Updated upstream
279314
how = 'left' # left에 위치한 df1이 기준이 된다. 기준이 된 데이터프레임은 데이터의 삭제가 일어나지 않음..!!!!!
280315
)
281316

@@ -299,4 +334,21 @@ pd.merge(df1_left, df2_right, on='이름', how="inner") # 왼,오 데이터프
299334

300335
```python
301336
pd.merge(df1_left, df2_right, on="이름", how="outer") # 한 쪽만 키값(이름)이 있어도 생성되고, 없는 값은 Nan값 처리
337+
=======
338+
how = 'left' # left에 위치한 df1이 기준이 됨. 기준이 된 데이터프레임은 삭제가 일어나지 않음!!!
339+
)
340+
```
341+
### inner, outer 형식
342+
- `inner`: 두 데이터 프레임에 모두 키 값이 존재하는 경우 병합
343+
- `outer`: 하나의 데이터 프레임에 키 값이 존재하는 경우 모두 병합
344+
- 없는 값은 NaN값으로 대입
345+
346+
```python
347+
# inner
348+
pd.merge(df1_left, df2_right, on='이름', how='inner')
349+
```
350+
```python
351+
# outer
352+
pd.merge(df1_left, df2_right, on ="이름", how="outer")
353+
>>>>>>> Stashed changes
302354
```

0 commit comments

Comments
 (0)