Merge & Concat
Coddyの「Pandas Analytics」コースのレッスン 17/19。
現実の世界では、データは多くの場合、複数のテーブルやファイルから取得されます。これらのデータを接続して分析するには、データセットを結合できる必要があります。データフレームを結合するには、.merge()、.join()、および .concat() を使用できます。
.merge() は SQL の JOIN 操作に似ています。1つ以上のキーに基づいて、データフレーム内の列またはインデックスを接続します:
merged_df = df1.merge(df2, on='common_column')例えば、これら2つのテーブルは:
| 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 を計算し、それらを1つのデータフレームに結合してください。カラム名を以下のように変更してください:
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 は 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のすべてのレッスン
4Data Analysis with Pandas
Descriptive StatisticsGrouping and Aggregating DataDifferent AggregationsMerge & Concat2Working with the DataFrame
Understanding DataFramesAccessing DataData Cleaning - Missing dataData Cleaning - More tools3Data Manipulation with Pandas
Return Requested ResultFilter DataAdd & DeleteModify DataModify StringsCustom Modifications