Python 将数据帧转换为ID为键的字典
下面是我的pandas dataframe,现在我想用它创建一个记录字典,其中键是记录ID,值是字典,键是字段名,类似这样: 我使用了df.to_dict()函数,但不确定如何使用此函数将记录ID设置为键Python 将数据帧转换为ID为键的字典,python,pandas,Python,Pandas,下面是我的pandas dataframe,现在我想用它创建一个记录字典,其中键是记录ID,值是字典,键是字段名,类似这样: 我使用了df.to_dict()函数,但不确定如何使用此函数将记录ID设置为键 {123342: {'Address': 'Brunswick', 'Id': '123342', 'Name': 'Rachels Hunt', 'Unname': 'VB INDUSTRIES', 'no': '6032', 'zip': '01123'}} 记录到数
{123342: {'Address': 'Brunswick',
'Id': '123342',
'Name': 'Rachels Hunt',
'Unname': 'VB INDUSTRIES',
'no': '6032',
'zip': '01123'}}
记录到数据帧
pd.DataFrame(d).T
Out[836]:
Address Id Name Unname no zip
123342 Brunswick 123342 Rachels Hunt VB INDUSTRIES 6032 01123
数据帧到Dict
编辑:
df.T.to_dict()
Out[850]:
{123342: {'Address': 'Brunswick',
'Id': '123342',
'Name': 'Rachels Hunt',
'Unname': 'VB INDUSTRIES',
'no': '6032',
'zip': '01123'}}
使用
设置索引和到dict()
:
输出:
{123342: {'Address': 'Brunswick',
'Id': 123342,
'Name': 'Rachels Hunt',
'Unname': 'VB INDUSTRIES',
'no': 6032,
'zip': 1123}}
注意:我不是将Id列移动到索引中,而是创建一个与Id列相同的新索引
在哪里
请编辑以下评论:
输出:
{123342: {'Address': 'Brunswick',
'Id': '123342',
'Name': 'Rachels Hunt',
'Unname': 'VB INDUSTRIES',
'no': '6032',
'zip': '1123'}}
嵌套字典中的ID键丢失这不会给出结果,df.set_index('ID').T.to_dict(),仍然缺少ID,df.T.to_dict()
@min2bro@min2bro你的意见是什么?你能把它添加到问题中吗?但是它把数字的数据类型从字符串改为整数,检查Id,没有字段。是的,这是因为我用int数据类型创建了数据框。如果我将这些整数转换为字符串,它将生成字符串。
print(df)
Id Address Name Unname no zip
0 123342 Brunswick Rachels Hunt VB INDUSTRIES 6032 1123
df.apply(lambda x: x.astype(str)).set_index(df.Id).T.to_dict()
{123342: {'Address': 'Brunswick',
'Id': '123342',
'Name': 'Rachels Hunt',
'Unname': 'VB INDUSTRIES',
'no': '6032',
'zip': '1123'}}
dict = [
{
d['Id']: {
'Address' : d['Address'],
'Id' : d['Id'],
'Name' : d['Name'],
'Unname' : d['Unname'],
'no' : d['no'],
'zip' : d['zip']
}
}
for d in df.to_dict(orient = 'records')
]