」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何從具有不同長度數組的字典建立 Pandas 資料框?

如何從具有不同長度數組的字典建立 Pandas 資料框?

發佈於2024-11-11
瀏覽:898

How to Create a Pandas Dataframe from a Dictionary with Arrays of Varying Lengths?

使用不同長度的陣列從字典創建資料幀

提出的挑戰是產生一個包含由不同長度的numpy 數組組成的列的資料幀從字典中提取的值。為了實現這一點,讓我們來探索使用Python的解決方案。

在Python 3.x及更高版本中,可以使用以下程式碼片段:

import pandas as pd
import numpy as np

# Define a dictionary with key-value pairs representing numpy arrays
d = {
    "A": np.random.randn(10),
    "B": np.random.randn(12),
    "C": np.random.randn(8)
}

# Create a dataframe by converting each key-value pair to a series
df = pd.DataFrame(
    dict([
        (k, pd.Series(v))
        for k, v in d.items()
    ])
)

# Display the resulting dataframe
print(df)

此程式碼會建立一個包含「A」、「B」和「C」列的資料框,每個欄位保存字典中對應的 numpy 陣列值。如果陣列的長度不同,它會自動對齊它們,並使用 NaN 值作為填充來擴展較短的陣列。

在 Python 2.x 中,需要進行較小的修改:

import pandas as pd
import numpy as np

# Define a dictionary with key-value pairs representing numpy arrays
d = {
    "A": np.random.randn(10),
    "B": np.random.randn(12),
    "C": np.random.randn(8)
}

# Create a dataframe by converting each key-value pair to a series
df = pd.DataFrame(
    dict([
        (k, pd.Series(v))
        for k, v in d.iteritems()
    ])
)

# Display the resulting dataframe
print(df)

在 Python 2.x 中,使用 iteritems() 函數取代 items() 來迭代字典中的鍵值對。

透過利用此方法,您可以輕鬆建立包含不同長度陣列的列的資料框,確保資料正確對齊和處理。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3