Menu
Coddy logo textTech

Merge 및 Concat

Coddy의 Pandas 데이터 분석 코스 레슨 — 19개 중 17번째.

실제 환경에서 데이터는 종종 여러 테이블이나 파일에서 제공됩니다. 이러한 데이터를 연결하고 분석하려면 데이터셋을 결합할 수 있어야 합니다. 데이터프레임을 결합하기 위해 .merge(), .join(), 그리고 .concat()을 사용할 수 있습니다.

.merge()는 SQL의 JOIN 연산과 유사합니다. 하나 이상의 키를 기준으로 데이터프레임의 열이나 인덱스를 연결합니다:

merged_df = df1.merge(df2, on='common_column')

예를 들어, 다음 두 테이블은:

IDVALUE
1"val1"
2"val2
IDPOINTS
19

다음과 같이 변경됩니다:

IDVALUEPOINTS
1"val1"9

.concat() 함수는 한 데이터프레임의 행을 다른 데이터프레임의 끝에 추가하여 새로운 데이터프레임을 반환하는 데 사용됩니다. 이 작업은 SQL의 'UNION' 연산과 유사합니다:

concatenated_df = pd.concat([df1, df2])
challenge icon

챌린지

쉬움

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_visitsmedian_visits.

최종 데이터프레임은 다음과 같은 모습이어야 합니다:

location_idsum_visitsmin_visitsmax_visitsmean_visitsstd_visitsmedian_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()
# 아래에 코드를 작성하세요

Pandas 데이터 분석의 모든 레슨