-
NaN値を含めるグループ化:
import pandas as pd # サンプルデータフレームの作成 df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': [1, 2, np.nan, 4, 5, 6, np.nan, 8], 'C': [10, 20, 30, np.nan, 50, 60, 70, np.nan]}) # NaN値を含めてグループ化 grouped = df.groupby('A', dropna=False) # グループごとの集計結果を表示 for name, group in grouped: print(name) print(group)
-
特定の列でNaN値を含むグループのみを抽出:
import pandas as pd # サンプルデータフレームの作成 df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': [1, 2, np.nan, 4, 5, 6, np.nan, 8], 'C': [10, 20, 30, np.nan, 50, 60, 70, np.nan]}) # 特定の列でNaN値を含むグループのみを抽出 grouped = df.groupby('A').filter(lambda x: x['B'].isna().any()) # 抽出したグループを表示 print(grouped)
-
特定の列でNaN値を含むグループの集計結果を取得:
import pandas as pd # サンプルデータフレームの作成 df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': [1, 2, np.nan, 4, 5, 6, np.nan, 8], 'C': [10, 20, 30, np.nan, 50, 60, 70, np.nan]}) # 特定の列でNaN値を含むグループの集計結果を取得 grouped = df.groupby('A').agg({'B': ['mean', 'sum'], 'C': ['min', 'max']}) # 集計結果を表示 print(grouped)
これらの方法を使用すると、Pandasのgroupbyメソッドを使ってNaN値を含めたデータのグループ化と集計を行うことができます。適切な方法を選択し、データ分析のニーズに合わせて活用してください。