簡體   English   中英

熊貓-將數據框列轉儲到字典中

[英]Pandas - Dump dataframe columns into dictionary

我想將兩列數據幀轉儲到這樣的字典中:

我的數據框:

df['col1'] = pd.Series(['id_1','id_2','id_3','id_4'])
df['col2'] = pd.Series(['Name1','Name2','Name3','Name4'])

所需字典

dict = {'id_1':'Name1','id_2':'Name2','id_3':'Name3',...}

在不循環瀏覽行的情況下,這樣做的一種好方法是什么?

使用df.set_index()設置字典鍵,僅將所需的列作為值,並在其上調用series.to_dict()

my_dict=df.set_index('col1')['col2'].to_dict()

或者,您可以使用zip zip 2列並在其上調用dict函數。

my_dict=dict(zip(df.col1,df.col2))

輸出:

{'id_1': 'Name1', 'id_2': 'Name2', 'id_3': 'Name3', 'id_4': 'Name4'}

PS 不要將dict用作字典名稱,因為它是python內置函數。

另一種方法是直接在df numpy數組上調用dict

如果您的df有2列:

dict(df.values)

如果您的df有多於2列,只需切片要轉換的2列並對其調用dict

dict(df[['col1', 'col2']].values)    

輸出:

{'id_1': 'Name1', 'id_2': 'Name2', 'id_3': 'Name3', 'id_4': 'Name4'}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM