ホームページ > バックエンド開発 > Python チュートリアル > Pandas Groupby を使用して DataFrame 行をリストにグループ化するにはどうすればよいですか?

Pandas Groupby を使用して DataFrame 行をリストにグループ化するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-17 09:38:24
オリジナル
346 人が閲覧しました

How Can I Group DataFrame Rows into Lists Using Pandas Groupby?

Pandas GroupBy で DataFrame 行をリストにグループ化する

多くのデータセットには、行全体にわたる冗長な情報が含まれています。意味のある洞察を抽出するには、多くの場合、共通の属性に基づいて行をグループ化する必要があります。これにより、各グループ内のデータの集約と操作が可能になります。この記事では、Pandas groupby でデータフレームの行をリストにグループ化する方法について説明します。

グループ化と集計

2 つの列 'a' と 'b' を持つデータフレームを考えます:

a b
A 1
A 2
B 5
B 5
B 4
C 6
ログイン後にコピー

目標は、行を最初の列 ('a') でグループ化し、そのリストを作成することです。各グループの 2 列目 (「b」) の値。望ましい出力は次のとおりです:

A [1,2]
B [5,5,4]
C [6]
ログイン後にコピー

これを実現するには、Pandas の groupby 関数と apply 関数を使用します。 groupby 関数は指定された列ごとに行をグループ化し、apply 関数を使用すると各グループに対して操作を実行できます。この場合、list 関数を適用して各グループの値のリストを作成します。

df.groupby('a')['b'].apply(list)
ログイン後にコピー

このコードは、各グループの値のリストを含む Series オブジェクトを返します。

a
A       [1, 2]
B    [5, 5, 4]
C          [6]
Name: b, dtype: object
ログイン後にコピー

新しいデータフレームの作成

グループ化されたリストを含む新しいデータフレームを作成するには、reset_index 関数を使用して系列を変換します。オブジェクトを新しいデータフレームに追加し、リストを含む列の名前を変更します:

df1 = df.groupby('a')['b'].apply(list).reset_index(name='new')
ログイン後にコピー

結果のデータフレームは次のようになります:

   a        new
0  A     [1, 2]
1  B  [5, 5, 4]
2  C        [6]
ログイン後にコピー

以上がPandas Groupby を使用して DataFrame 行をリストにグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート