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

Python で Excel データを列ごとにグループ化し、リストの辞書を作成する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-30 03:17:02574ブラウズ

How to Group Excel Data by Column and Create a Dictionary of Lists in Python?

Excel の結果をリストの辞書にグループ化

データが Column1、Column2、Column3 の 3 つの列に編成された Excel スプレッドシートがあります。このデータを抽出し、Column1 でグループ化して、Column1 の各一意の値が Column3 の値のリストに対応するようにしたいとします。

コード:

すでに Column1 で groupby() 関数を使用しようとしましたが、出力には Column3 の実際の値の代わりにインデックスが含まれています。これを修正するには、グループ化する列と抽出する列を指定する必要があります:

<code class="python">df = pandas.read_excel(r"e:\test_data.xlsx", sheetname='mySheet', parse_cols=['Column1', 'Column3'])
result = df.groupby('Column1')['Column3'].apply(list).to_dict()</code>

説明:

  • groupby () は、Column1 の値によってデータをグループ化します。
  • apply(list) は、リスト関数を各サブグループに適用し、Column3 の値をリストに変換します。
  • to_dict() は、グループ化された値を変換しますデータを辞書に入力します。ここで、キーは Column1 の値、値は Column3 の値のリストです。

代替コード:

別の方法同じ結果を得るには、辞書内包表記を使用します:

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

出力:

どちらのコード スニペットも目的の出力を生成します:

{0: [1], 1: [2, 3, 5], 2: [1, 2], 3: [4, 5], 4: [1], 5: [1, 2, 3]}

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

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