使用不同長度的陣列從字典創建資料幀
提出的挑戰是產生一個包含由不同長度的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