Merge 및 Concat
Coddy의 Pandas 데이터 분석 코스 레슨 — 19개 중 17번째.
실제 환경에서 데이터는 종종 여러 테이블이나 파일에서 제공됩니다. 이러한 데이터를 연결하고 분석하려면 데이터셋을 결합할 수 있어야 합니다. 데이터프레임을 결합하기 위해 .merge(), .join(), 그리고 .concat()을 사용할 수 있습니다.
.merge()는 SQL의 JOIN 연산과 유사합니다. 하나 이상의 키를 기준으로 데이터프레임의 열이나 인덱스를 연결합니다:
merged_df = df1.merge(df2, on='common_column')예를 들어, 다음 두 테이블은:
| ID | VALUE |
| 1 | "val1" |
| 2 | "val2 |
| ID | POINTS |
| 1 | 9 |
다음과 같이 변경됩니다:
| ID | VALUE | POINTS |
| 1 | "val1" | 9 |
.concat() 함수는 한 데이터프레임의 행을 다른 데이터프레임의 끝에 추가하여 새로운 데이터프레임을 반환하는 데 사용됩니다. 이 작업은 SQL의 'UNION' 연산과 유사합니다:
concatenated_df = pd.concat([df1, df2])챌린지
쉬움CSV 파일 visits.csv에는 특정 시간에 특정 위치에서 발생한 방문 횟수에 대한 정보가 포함되어 있습니다.
파일의 처음 5줄은 다음과 같습니다:
location_id,visits,timestamp
8,1771,27498
9,4187,79919
0,4959,54228
6,7721,41588각 location id에 대해 min, max, mean, std, sum, median을 계산하고 이를 하나의 데이터프레임으로 결합하세요. 열 이름을 다음과 같이 변경하세요:
sum_visits, min_visits, max_visits, mean_visits, std_visits 및 median_visits.
최종 데이터프레임은 다음과 같은 모습이어야 합니다:
| location_id | sum_visits | min_visits | max_visits | mean_visits | std_visits | median_visits |
| ... | ... | ... | ... | ... | ... | ... |
결과를 df에 저장하세요.
직접 해보기
# pandas as pd는 이미 import되었습니다
df = pd.read_csv("./visits.csv")
sum_visits = df.groupby("location_id").sum()
min_visits = df.groupby("location_id").min()
max_visits = df.groupby("location_id").max()
mean_visits = df.groupby("location_id").mean()
std_visits = df.groupby("location_id").std()
median_visits = df.groupby("location_id").median()
# 아래에 코드를 작성하세요