python code

Dataframe

pd.cut() 値で区切る方法

連続する値を任意の境界値で分けることをビン分割やビニングといいます。このようなケースでは、pd.cut()関数が便利です。pd.cut()関数は、次のように使います。#指定したSeriesをビン分割するpd.cut(ビン分割するSeries...
Dataframe

時間単位によるグループ化

時間のデータを扱う時は、resample()が便利です。resample()とは 頻度変更 を行うためのDataFrameのメソッドです。頻度変更には、次の2種類があります。アップサンプリング:より高い頻度への変更(月単位のデータを日単位に...
Dataframe

複数の項目でグループ化する

データ分析では、複数の項目でグループ化したいこともあります。たとえば、次のようなケースです。テストの平均点を、教科・クラス別で出したいA組の国語、A組の数学、B組の国語、B組の数学……など身長と体重の統計量を、性別・年齢ごとに出したい10代...
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(関...