通过for循环分配值后,为什么我的数据框为空?

时间:2019-06-19 21:04:50

标签: python json pandas data-analysis

我正在尝试通过for循环从json数据对象创建具有所需属性的数据框。但是,当我尝试打印数据框内容时,即使循环成功运行,它也显示为空。

当我尝试打印时,我发现很奇怪

table['h_timezone'].head()

输出为:

PST
PST
CST

但是当我尝试打印表格的内容时。它说空的数据框或0行和2列。

顺便说一句,我的文件有10,000个json对象/事务,我在下面的for循环中跟踪40列的赋值过程。

有人可以帮我解决这个问题吗?我在代码中到底在做什么错?另外,有没有有效的流程来完成这项工作?

import pandas as pd

import json 

data = pd.read_json(open('sample.json'), lines=True)

columns = ['h_timezone','h_apptimestamp']

table= pd.DataFrame(columns = columns)

for i in range(0,len(data)):

    table['h_timezone'].loc[i] = data.loc[i]['header']['timeZone']

    table['h_apptimestamp'].loc[i]=data.loc[i]['header']['applicationTimestamp']

table.count()
table.head()

预期产量

h_timezone   h_apptimestamp
PST          09-09-2018 01:20:20
CST          10-09-2018 01:30:30

我的输出如下:

table.count()
h_timezone      0
h_apptimestamp  0 

table.head()
h_timezone  h_apptimestamp

0 个答案:

没有答案