大熊猫数据框' test_df'。我的目标是将其转换为字典。因此我运行:
id Name Gender Age
0 1 'Peter' 'M' 32
1 2 'Lara' 'F' 45
因此我运行:
test_dict = test_df.set_index('id').T.to_dict()
输出是这样的:
{1: {'Name': 'Peter', 'Gender': 'M', 'Age': 32}, 2: {'Name': 'Lara', 'Gender': 'F', 'Age': 45}}
现在,我想只选择'姓名'和'性别'列作为字典键的值。我试图将上述脚本修改成这样:
test_dict = test_df.set_index('id')['Name']['Gender'].T.to_dict()
没有成功!
有什么建议吗?!
答案 0 :(得分:1)
您非常接近,使用subset
列的[['Name','Gender']]
:
test_dict = test_df.set_index('id')[['Name','Gender']].T.to_dict()
print (test_dict)
{1: {'Name': 'Peter', 'Gender': 'M'}, 2: {'Name': 'Lara', 'Gender': 'F'}}
也不需要T
,请使用参数orient='index'
:
test_dict = test_df.set_index('id')[['Name','Gender']].to_dict(orient='index')
print (test_dict)
{1: {'Name': 'Peter', 'Gender': 'M'}, 2: {'Name': 'Lara', 'Gender': 'F'}}