DataFrame 行をグループ化して GroupBy でリストを作成するメソッド
パンダを使用したデータ操作の領域では、多くの場合 DataFrame 行を操作する必要があります。特定の形式に変換します。一般的な要件の 1 つは、特定の列に基づいて行をグループ化し、別の列からリストとして値を取得することです。
次に示すように、列 'a' と 'b' を持つ DataFrame を考えてみましょう。
a b A 1 A 2 B 5 B 5 B 4 C 6
目標は、この DataFrame を、行が列 'a' でグループ化され、列 'b' の値がリストに変換される新しいデータフレームに変換することです。各グループ。望ましい出力は次のようになります。
A [1, 2] B [5, 5, 4] C [6]
これを実現するには、以下に示すように、パンダの 'groupby' 関数と 'apply' 関数を活用できます。
# Import the pandas library import pandas as pd # Create a DataFrame from the provided data df = pd.DataFrame( {'a':['A','A','B','B','B','C'], 'b':[1,2,5,5,4,6]}) # Group the DataFrame by column 'a' grouped = df.groupby('a') # Apply the list function to each group to get the 'b' values as lists group_b_lists = grouped['b'].apply(list) # Reset the index of the resulting Series to obtain a DataFrame df_result = group_b_lists.reset_index(name='b_lists') # Print the transformed DataFrame print(df_result)
このコードは効果的に機能します。元の DataFrame を列「a」ごとにグループ化し、リスト関数を各グループに適用して、結果のリストを「b_lists」という新しい列に割り当てます。結果の DataFrame が印刷されて、目的の出力が表示されます。
以上がPandas DataFrame の行をグループ化し、列の値をリストに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。