ホームページ > バックエンド開発 > Python チュートリアル > Python で DataFrame を列ごとにグループ化し、リストの辞書に変換する方法

Python で DataFrame を列ごとにグループ化し、リストの辞書に変換する方法

Barbara Streisand
リリース: 2024-10-29 10:34:02
オリジナル
203 人が閲覧しました

How to Group a DataFrame by a Column and Convert It to a Dictionary of Lists in Python?

GroupBy と DataFrame をリストの辞書に変換

構造化データを含む Excel ファイルが与えられた場合、目標はデータを抽出してグループ化することです特定の列ごとに取得し、値としてリストを使用して Python 辞書に保存します。 Excel シートのデータ形式は次のとおりです。

Column1 Column2 Column3
0 23 1
1 5 2
1 2 3
1 19 5
2 56 1
2 22 2
3 2 4
3 14 5
4 59 1
5 44 1
5 1 2
5 87 3

解決策 1: groupby.apply().to_dict()

データを目的の辞書に変換するには

  1. pandas.read_excel() を使用して Excel ファイルを DataFrame に読み込みます。
  2. groupby() を使用して Column1 で DataFrame をグループ化します。
  3. Column3 から値を抽出し、リストを各グループに適用してリストに変換します。
  4. グループ化された結果を to_dict() を使用して辞書に変換します。
<code class="python">import pandas as pd

excel = pd.read_excel(r"e:\test_data.xlsx", sheetname='mySheet', parse_cols='A,C')
result = excel.groupby('Column1')['Column3'].apply(list).to_dict()

print(result)</code>
ログイン後にコピー

解決策 2: 辞書内包表記

または、辞書内包表記を使用して同じ結果を得ることができます:

<code class="python">result = {k: list(v) for k, v in excel.groupby('Column1')['Column3']}

print(result)</code>
ログイン後にコピー

両方のソリューションの出力は次のようになります:

{0: [1], 1: [2, 3, 5], 2: [1, 2], 3: [4, 5], 4: [1], 5: [1, 2, 3]}
ログイン後にコピー

以上がPython で DataFrame を列ごとにグループ化し、リストの辞書に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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