GroupBy の結果をリストの辞書に変換する
Excel シートからデータを抽出してグループ化するには、groupby を利用するのが一般的です。 pandasライブラリの機能。ただし、目的の出力が、キーがグループ値に対応し、値が対応する要素のリストである辞書である場合、従来のアプローチでは十分ではない可能性があります。
この特定の要件を達成するための 1 つの解決策は、apply と を利用することです。 to_dict 関数。 apply 関数を使用すると、各グループに関数を適用できます。この場合は、Column3 をリストに変換します。 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()</code>
このコードは、目的の出力を生成します:
{0: [1], 1: [2, 3, 5], 2: [1, 2], 3: [4, 5], 4: [1], 5: [1, 2, 3]}
あるいは、よりコンパクトな解決策は、辞書内包表記を使用することです:
<code class="python">result = {k: list(v) for k, v in excel.groupby('Column1')['Column3']}</code>
このアプローチでも同じ目的の出力が生成され、簡潔で効率的な実装が実現します。
以上がPandas GroupBy の結果をリストの辞書に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。