Menu
Coddy logo textTech

Merge & Concat

Coddyの「Pandas Analytics」コースのレッスン 17/19。

現実の世界では、データは多くの場合、複数のテーブルやファイルから取得されます。これらのデータを接続して分析するには、データセットを結合できる必要があります。データフレームを結合するには、.merge().join()、および .concat() を使用できます。

.merge() は SQL の JOIN 操作に似ています。1つ以上のキーに基づいて、データフレーム内の列またはインデックスを接続します:

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

例えば、これら2つのテーブルは:

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 ごとに minmaxmeanstdsum、および median を計算し、それらを1つのデータフレームに結合してください。カラム名を以下のように変更してください:

sum_visitsmin_visitsmax_visitsmean_visitsstd_visits、および median_visits

最終的なデータフレームは以下のようになります:

location_idsum_visitsmin_visitsmax_visitsmean_visitsstd_visitsmedian_visits
.....................

結果を df に保存してください。

自分で試してみよう

# pandas は pd として既にインポートされています
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 Analyticsのすべてのレッスン