首頁 >後端開發 >Python教學 >如何從具有不同數組長度的字典創建 Pandas DataFrame?

如何從具有不同數組長度的字典創建 Pandas DataFrame?

Barbara Streisand
Barbara Streisand原創
2024-11-10 14:20:031058瀏覽

How to Create a Pandas DataFrame from a Dictionary with Varying Array Lengths?

從條目長度不均勻的字典建立 DataFrame

在 Python 中,可以從每個條目保存一個 Numpy 陣列的字典建立 DataFrame。然而,當條目之間的數組長度不同時,就會出現挑戰。預設情況下,Pandas 需要統一長度的數組,從而導致類似「ValueError:數組必須具有相同長度」的錯誤。

克服長度差異

解決對於這個問題,我們可以利用 Pandas 的功能,使用 NaN(非數字)值作為缺失資料的佔位符。透過利用這一點,我們可以有效地建立一個包含不同長度列的 DataFrame。

為了實現這一點,我們可以將每個字典條目轉換為 Pandas Series,這是一個可以無縫處理缺失值的一維數組。透過將字典項包裝在生成器表達式中並使用 Series 建構函數,我們可以建立 Series 物件的字典。

import pandas as pd
import numpy as np

# Sample data with uneven array lengths
data = {
    'A': np.random.randn(5),
    'B': np.random.randn(8),
    'C': np.random.randn(4)
}

# Convert dictionary items to Series
series_dict = dict((k, pd.Series(v)) for k, v in data.items())

# Create DataFrame from the dictionary of Series
df = pd.DataFrame(series_dict)

結果:

In [1]: df
Out[1]:
        A         B         C
0  1.162543  1.681243  0.191287
1  0.459621  -0.141198 -0.109864
2  -0.866704 -0.128677  -0.511496
3  1.222436  -0.371449 -0.705894
4  -0.980584  1.255133       NaN
5        NaN -0.351051       NaN
6        NaN  0.443017       NaN
7        NaN -1.053693       NaN

顯然,DataFrame 包含數組長度不同的缺失值(NaN),這使我們能夠從具有不同數組長度的字典建立具有不同列長度的DataFrame。

以上是如何從具有不同數組長度的字典創建 Pandas DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn