ホームページ  >  記事  >  バックエンド開発  >  さまざまなエントリ長を持つ辞書からデータフレームを作成するにはどうすればよいですか?

さまざまなエントリ長を持つ辞書からデータフレームを作成するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-09 03:35:02974ブラウズ

How to Create DataFrames from Dictionaries with Varying Entry Lengths?

さまざまなエントリ長のディクショナリからデータフレームを作成する

エントリがさまざまな長さの配列を保持するディクショナリを操作する場合、各列が一意のエントリに対応するデータフレーム。このようなディクショナリを DataFrame に直接変換しようとすると、「ValueError: 配列はすべて同じ長さである必要があります。」というエラーが発生します。

解決策

この問題を解決するには、次の手順を実行します。このアプローチには、各エントリの配列をシリーズに変換し、結果の辞書からデータフレームを構築することが含まれます。 Python 3.x では、これはリスト内包表記を使用して実現できます。

d = dict( A = np.array([1,2]), B = np.array([1,2,3,4]) )

pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in d.items() ]))

# Output:
   A  B
0  1  1
1  2  2
2  NaN  3
3  NaN  4

Python 2.x では、コードは同様ですが、d.items() 呼び出しが d.iteritems( に置き換えられます) ):

pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in d.iteritems() ]))

この手法は、各辞書エントリをシリーズに効果的に変換し、対応するキーを使用して DataFrame に追加できます。列名として。結果として得られる DataFrame には、元の配列の長さと一致する長さの列が含まれます。一貫した列構造を確保するために、欠損値は NaN として表されます。

このアプローチを利用すると、さまざまな配列長のエントリを含むディクショナリから DataFrame を作成でき、さらなるデータ分析と操作が可能になります。

以上がさまざまなエントリ長を持つ辞書からデータフレームを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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