gpt4 book ai didi

Python json 添加多个键并迭代

转载 作者:太空宇宙 更新时间:2023-11-04 08:43:18 26 4
gpt4 key购买 nike

我正在寻找将数据框转换为 json,这是我目前拥有的代码:

my_frame = pd.DataFrame(
{'Age':[30, 31],
'Eye':['blue', 'brown'],
'Gender': ['male', 'female']})
my_frame = my_frame.to_json(orient='records')
my_frame

结果:

'[{"Age":30,"Eye":"blue","Gender":"male"},{"Age":31,"Eye":"brown","Gender":"female"}]'

我想向 json 对象添加键,并在从数据帧转换的整个数据上添加键信息

add_keys = {'id': 101,
'loc': 'NY',
}
add_keys['info'] = my_frame
add_keys

结果:

{'id': 101,
'info': '[{"Age":30,"Eye":"blue","Gender":"male"},
{"Age":31,"Eye":"brown","Gender":"female"}]',
'loc': 'NY'}

我想打印 info 中的两条记录中的每一条,但是当我运行此迭代代码时,它会输出字符串的每个字符而不是整个记录。我认为这可能是我添加 key 的方式的问题。

for item in add_keys['info']:
print(item)

非常感谢任何帮助!

最佳答案

最好用pandas内置功能在这里。所以,这就是您所需要的:add_keys['info'] = my_frame.T.to_dict().values()

这是完整代码:

>>> my_frame = pd.DataFrame(
... {'Age':[30, 31],
... 'Eye':['blue', 'brown'],
... 'Gender': ['male', 'female']})
>>> my_frame
Age Eye Gender
0 30 blue male
1 31 brown female
>>> add_keys = {'id': 101,
... 'loc': 'NY',
... }
>>> add_keys
{'loc': 'NY', 'id': 101}
>>> add_keys['info'] = my_frame.T.to_dict().values()
>>> add_keys
{'info': [{'Gender': 'male', 'Age': 30L, 'Eye': 'blue'}, {'Gender': 'female', 'Age': 31L, 'Eye': 'brown'}], 'loc': 'NY', 'id': 101}
>>> for item in add_keys['info']:
... print(item)
...
{'Gender': 'male', 'Age': 30L, 'Eye': 'blue'}
{'Gender': 'female', 'Age': 31L, 'Eye': 'brown'}
>>>

关于Python json 添加多个键并迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42990355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com