如何從具有不同條目長度的字典建立資料幀?

Mary-Kate Olsen
發布: 2024-11-09 03:35:02
原創
971 人瀏覽過

How to Create DataFrames from Dictionaries with Varying Entry Lengths?

從具有不同條目長度的字典建立DataFrame

當使用條目保存不同長度數組的字典時,建立一個DataFrame,其中每一列對應一個唯一的條目。嘗試將此類字典直接轉換為DataFrame 會導致“ValueError:數組必須具有相同的長度。”

解決方案

要解決此問題,一個方法涉及將每個條目的陣列轉換為Series,然後從結果字典建構一個DataFrame。在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() ]))
登入後複製

此技術有效地將每個字典條目轉換為一個Series,然後可以將其附加到DataFrame 中,並以其對應的鍵作為列名。產生的 DataFrame 的列的長度與原始陣列的長度相符。缺失值表示為 NaN,以確保一致的列結構。

透過利用此方法,可以從包含不同陣列長度的條目的字典中建立 DataFrame,從而實現進一步的資料分析和操作。

以上是如何從具有不同條目長度的字典建立資料幀?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板