[英]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.