ホームページ > バックエンド開発 > Python チュートリアル > 配列長が不均一な辞書から Pandas DataFrame を構築するにはどうすればよいですか?

配列長が不均一な辞書から Pandas DataFrame を構築するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-09 11:10:02
オリジナル
672 人が閲覧しました

How to Construct Pandas DataFrames from Dictionaries with Uneven Array Lengths?

配列長が等しくない辞書からの DataFrame の構築

Pandas で長さが等しくない配列を含む辞書を処理するには、カスタマイズされたアプローチが必要です。ディクショナリ内の配列を表す各列を含む DataFrame を作成しようとすると、「配列はすべて同じ長さである必要があります。」という ValueError が発生する可能性があります。

シリーズ オブジェクトの利用

これを回避するにはこの問題では、さまざまな長さの配列を保持できる Pandas の Series オブジェクトを利用します。各辞書値を Series に変換することで、配列の長さに関係なく効率的に配列を保存できます。次のコード スニペットは、このアプローチを示しています。

import pandas as pd
import numpy as np

# Sample data generated via a reproducible seed
np.random.seed(2023)
data = {k: np.random.randn(v) for k, v in zip("ABCDEF", [10, 12, 15, 17, 20, 23])}

# Convert dictionary values to Series objects
series_dict = {k: pd.Series(v) for k, v in data.items()}

# Create DataFrame using these Series objects
df = pd.DataFrame(series_dict)
ログイン後にコピー

欠損値の保持

さまざまな長さの配列を操作する場合、短い配列では残りのセルを埋めることができない欠損値が発生することがよくあります。デフォルトでは、Pandas はこれらのギャップを NaN (非数値) 値で埋めます。この動作により、元のデータが保存され、分析に一貫した構造が提供されます。

欠損値の処理の構成

必要に応じて、DataFrame( ) コンストラクター。たとえば、欠損値を NaN ではなくゼロに置き換えるには、以下に示すように missing_values=0 を指定します。

df = pd.DataFrame(series_dict, missing_values=0)
ログイン後にコピー

出力例

次の出力は、このアプローチを使用して作成された DataFrame を示しています。上で概説したように:

print(df)
ログイン後にコピー
      A         B         C         D         E         F
0  0.711674 -1.076522 -1.502178 -1.519748  0.340619  0.051132
1 -0.324485 -0.325682 -1.379593  2.097329 -1.253501 -0.238061
2 -1.001871 -1.035498 -0.204455  0.892562  0.370788 -0.208009
3  0.236251 -0.426320  0.642125  1.596488  0.455254  0.401304
4 -0.102160 -1.029361 -0.181176 -0.638762 -2.283720  0.183169
...       ...       ...       ...       ...       ...       ...
18       NaN       NaN       NaN       NaN       NaN       NaN
19       NaN       NaN       NaN       NaN       NaN       NaN
20       NaN       NaN       NaN       NaN       NaN       NaN
21       NaN       NaN       NaN       NaN       NaN       NaN
22       NaN       NaN       NaN       NaN       NaN       NaN
23 rows × 6 columns
ログイン後にコピー

ご覧のとおり、配列が短いと、対応する配列で NaN 値が生成されます。セルを使用して、必要な表形式を維持しながらデータの包括的な表現を提供します。

以上が配列長が不均一な辞書から Pandas DataFrame を構築するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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