Dataframe

グループの抽出 演習

次のような、あるジムの利用ログのデータがあります。データは列利用日でソートされています。ログID利用者ID利用日利用時間(分)1001U00012022/02/01451002U00022022/02/0162............103...
Dataframe

filter()を使った抽出

抽出(filter)は、指定した条件に合致するグループのデータだけを取得するような処理です。たとえば次のようなケースです。複数クラスの試験結果のデータから、「平均点が70点以上のクラス」のデータを抽出する複数ユーザーの購入履歴ログから、「購...
Dataframe

transform() 関数を使う場合

DataFrameGroupByのtransform()次のようにtransform()を使うことで、関数を使った変換処理ができます。そのため、指定する関数次第で柔軟な処理が行えます。#指定した列でグループ化grouped=df.group...
Dataframe

通し番号の付与 cumcount()

cumcount()cumcount() はDataFrameにはなく、DataFrameGroupByだけで使えるメソッドです。グループごとに、データに対して通し番号をふりたい時に使います。たとえば、以下のようなケースです。複数ユーザーの...
Dataframe

グループごとの変換 rank()

「変換」ではグループごとに 個々のデータ に対して処理を行う点が特徴です。そのため、次のようにグループごとにデータの個数分の結果が出ます。変換処理の方法次のようにgroupby()の結果(DataFrameGroupByオブジェクト)と変換...
Dataframe

agg()を用いた演習

importpandasaspd#ジムの利用履歴データを読み込みdf=pd.read_csv("dataset/gym_log.csv",index_col="ログID")#先頭5行を確認df.head()利用者ID利用日利用時間(分)ログ...
Dataframe

agg()で関数を用いて集約する方法

agg()では、集約方法として関数を指定することも可能です。そのため、指定する関数次第で柔軟な集約処理が行えます。#指定した列でグループ化grouped=df.groupby(列名)#指定した関数の処理を使って集約grouped.agg(関...
Dataframe

agg() 複数の集約値を一括で計算

複数の集約値を一度に出したいときはagg()が便利です。次のように、集約方法のリストを渡すことで複数の集約値を一度に計算します。#指定した列でグループ化するgrouped=df.groupby(列名)#グループごとに複数の方法で集約するgr...
Dataframe

集計の方法

次のようにgroupby()の結果(DataFrameGroupByオブジェクト)と集約メソッドを組み合わせることで、グループごとの集約ができます。#指定した列でグループ化するgrouped=df.groupby(列名)#グループごとに集約...
Dataframe

groupsを使った各グループの内訳を確認

DataFrameGroupByには各グループを確認するためのいろいろな機能があります。たとえば、次のようなものですメソッド説明get_group(グループ名)指定したグループのデータ(DataFrame)を取得head(行数)各グループの...