ホームページ >バックエンド開発 >Python チュートリアル >Pandas を使用して DataFrame 行をグループ化し、値のリストを作成する方法

Pandas を使用して DataFrame 行をグループ化し、値のリストを作成する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-17 20:54:10884ブラウズ

How to Group DataFrame Rows and Create Lists of Values Using Pandas?

Pandas Groupby を使用してデータフレーム行をグループ化されたリストに変換する方法

問題:

複数の列を持つ DataFrame の場合、目的は特定の列に基づいて行をグループ化することです(最初の列など) の値を収集し、別の列 (2 番目の列など) から各グループ内のリストに値を収集します。例:

元のデータフレーム:

a b
A 1
A 2
B 5
B 5
B 4
C 6

望ましい結果:

a new
A [1, 2]
B [5, 5, 4]
C [6]

解決策:

これを達成するにはその結果、パンダの groupby 関数を apply() メソッドとともに利用して、各グループをlist.

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({'a': ['A', 'A', 'B', 'B', 'B', 'C'], 'b': [1, 2, 5, 5, 4, 6]})

# Group by the "a" column and create lists of "b" values
grouped_list = df.groupby('a')['b'].apply(list)

# Reset the index to obtain a DataFrame
df1 = grouped_list.reset_index(name='new')

説明:

  • groupby('a'): DataFrame を「a」列でグループ化します。 .
  • apply(list): を適用します。 list() 関数を各グループに追加し、「b」値をリストに変換します。
  • reset_index(name='new'): インデックスをリセットし、新しい列名 "new" を割り当てます。

結果のデータフレーム df1 には、目的のグループ化されたリストが含まれます。リスト:

   a        new
0  A     [1, 2]
1  B  [5, 5, 4]
2  C        [6]

以上がPandas を使用して DataFrame 行をグループ化し、値のリストを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。