【发布时间】:2020-11-10 03:42:03
【问题描述】:
这是我从将 pandas 数据帧转换为我想要的格式所取得的进展。
print(data_frame)
Output:
>>{'Country': ['Croatia', 'Serbia', 'United States', 'Algeria', 'Chile'],
'Value': [5, 5, 4, 2, 2]}
dictlist = []
for key, value in data_frame.items():
temp = [key,value]
dictlist.append(temp)
print(dictlist)
Output:
>>[['Country', ['Croatia', 'Serbia', 'United States', 'Algeria', 'Chile']], ['Value', [5, 5, 4, 2, 2]]]
现在我迷路了。我尝试了很多视频和教程的组合,以至于我的蛮力想法都是空的。
for key, val in dictlist:
print(key, "->", val)
for item in val:
print(item)
output:
>>Country -> ['Croatia', 'Serbia', 'United States', 'Algeria', 'Chile']
>>Croatia
>>Serbia
>>United States
>>Algeria
>>Chile
>>Value -> [5, 5, 4, 2, 2]
>>5
>>5
>>4
>>2
>>2
我只是不知道如何在那个 for 循环中工作。我不能再重复了。 这是我试图将其转换为的格式:
[
{
"name": "Croatia",
"value": 5,
},
{
"name": "Serbia",
"value": 5,
},
{
"name": "United States",
"value": 4,
},
{
"name": "Algeria",
"value": 2,
},
{
"name": "Chile",
"value": 2,
}
]
更新
感谢聊天中的友好伙伴,我现在离目标更近了。这条线对我帮助很大。
data_frame = frame.set_index('Country').T.to_dict('list')
print(data_frame)
output:
{'Croatia': [5],
'Serbia': [5],
'United States': [4],
'Algeria': [2],
'Chile': [2]}
Not sure why the values got converted into arrays, but at least this should be solvable! Cheers!
【问题讨论】:
-
嗨,欢迎来到 SO!你能检查一下这个Convert a Pandas DataFrame to a dictionary 看看它是否能满足你的需求。谢谢
-
谢谢!更新了我的帖子:)
标签: json python-3.x pandas list dictionary