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')

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...