微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 将List合并到Dataframe中

忍受我,因为我是python的新手.我正在迭代数据并获得我需要组合成一个pandas数据帧的多个列表.

然后我需要添加标题,以便我可以执行计算.

问题是每个项目都被视为一个单独的实体.请帮忙

for r in rows:
  person_info = list()
  person_info.append(r['Metadata']['name'])
  person_info.append(r['Metadata']['CountryId'])
  person_info.append(r['Metadata']['StateId'])
  person_info.append(r['Metadata']['Income'])
  print(person_info)

这是输出

['mike' , 1, 4, 20000]
['mary', 2, 5, 30000]
['jane', 3, 6, 40000]

这是所需的输出作为数据框,标题为“name”,“id_a”,“id_b”和“income”:

name    id_a    id_b    income
mike    1       4       20000
mary    2       5       30000
jane    3       6       40000

解决方法:

您可以在循环外创建变量person_info并在每次迭代中追加元组

person_info = list()
for r in rows:
  person_info.append((r['Metadata']['name'], r['Metadata']['CountryId'], r['Metadata']['StateId'], r['Metadata']['Income']))

列表理解的解决方案:

person_info = [(r['Metadata']['name'], r['Metadata']['CountryId'], r['Metadata']['StateId'], r['Metadata']['Income']) for r in rows]
df = pd.DataFrame(person_info, columns=["name", "id_a", "id_b", "income"]) 

如果输入是json,另一种可能的解决方案是使用json_normalize

import json
from pandas.io.json import json_normalize    

with open('myJson.json') as data_file:    
    data = json.load(data_file)  

df = json_normalize(data, 'Metadata')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐