我正在处理一个 146 000 行的 json 文件,我需要绘制这些信息的一些列。这真的很耗时,一次将所有这些保存在数据帧中,所以我开始使用 read_csv 分配块大小,正如您在我的代码中看到的那样,因为我不需要所有的列,我正在创建一个带有我真正需要的列的新数据框,然后进行连接并保存到 csv 文件。一旦我运行我的代码并没有按顺序保存我,您可以在图片中看到第一次运行良好,并且还知道此代码应该一遍又一遍地重复相同的第一行,但是为什么显示第一个块这个??请问可以帮忙吗??在这一点上,任何想法都有很大帮助!谢谢!!for i in pd.read_json('info_img_havana.json',chunksize=10,lines=True):df=i.id.to_frame()df2=json_normalize(i.dates)['taken'].to_frame()df3=pd.concat([df,df2],axis=1)一旦我打印 df3 给我这个:json文件的一部分
2 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
完成!!索引有问题..此代码有效:
for i in pd.read_json('info_img_havana.json', chunksize=10, lines=True): df = pd.DataFrame(dict(d=json_normalize(i.dates)['taken'])) df.set_index(i.index,inplace=True)
慕桂英3389331
TA贡献2036条经验 获得超8个赞
没错,问题是 Frame 索引是连续的,所以当你创建一个新的 DataFrame 时,它需要自己的索引。您可以通过添加以下代码来检查它
df1 = pd.DataFrame({'index_chunk':i.index,'index_df':df.index})
print(df1)
添加回答
举报
0/150
提交
取消