Grouping and Aggregating Data
Coddyの「Pandas Analytics」コースのレッスン 15/19。
データのグループ化と集計は、大規模なデータセットを扱う際に非常に重要です。データを簡素化し、理解や分析が容易な方法で要約するのに役立つからです。
前回のレッスンでは、特定のグループに関する統計を計算しましたが、追加のツールなしですべてのグループの統計を計算するのは難しいかもしれません。そのために、.groupby() メソッドがあります:
df.groupby('column_name')これは、データフレームの行を column_name の値でグループ化する GroupBy オブジェクトを返します。この GroupBy オブジェクトに集計関数を適用して、それらのグループ内で計算を実行できます。
データがグループ化されたら、次のようなデータを要約するためのいくつかの集計関数を実行できます:
df.groupby('column_name').sum()
df.groupby('column_name').min()
df.groupby('column_name').max()これにより、元のデータフレーム内の他のすべての数値列の sum(合計)、min(最小値)、および max(最大値)が column_name ごとに分割されて返されます。
これで、分析している特定の列を抽出できます:
df.groupby('column_name').sum()['other_column']チャレンジ
簡単CSVファイル visits.csv には、特定の時間に特定の場所で何回の訪問があったかに関する情報が含まれています。
以下は、ファイルの最初の5行です。
location_id,visits,timestamp
8,1771,27498
9,4187,79919
0,4959,54228
6,7721,41588次のキーを持つ辞書を作成してください:min、max、mean、std、sum、および median。そして、各 location id ごとの visits カラムの統計値に対応する series を提供してください。
自分で試してみよう
# pandas as pd は既にインポートされています
df = pd.read_csv("./visits.csv")
# 以下にコードを記述してください
sum_visits = df.groupby("location_id").sum()["visits"]
res = {
"min": # 埋めてください
"max": # 埋めてください
"mean": # 埋めてください
"std": # 埋めてください
"median": # 埋めてください
"sum": sum_visits
}
print(res)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