现在我有一个DataFrame df2
,如下所示:
Kuwaiti Non-Kuwaiti Total
Age
0-4 164483 156459 320942
5-9 158377 136935 295312
当我这样做时:
df2.to_json()
我明白了:
'{"Kuwaiti":{"0-4":164483,"5-9":158377},"Non-Kuwaiti":{"0-4":156459,"5-9":136935},"Total":{"0-4":320942,"5-9":295312}}'
如您所见,df2.index.name
未在任何地方保留。
如何保存索引名称?
答案 0 :(得分:2)
不幸的是,我们传递给orient
的{{1}}参数都不会保留索引名称。解决方案是:
重新索引DataFrame,以便您要保留的索引成为普通列:
df2.to_json()
DataFrame df2.reset_index(inplace=True)
现在是:
df2
将其另存为JSON(理想情况下使用 Age Kuwaiti Non-Kuwaiti Total
0 0-4 164483 156459 320942
1 5-9 158377 136935 295312
不保留索引以节省空间,orient
是最节省空间的。)
'split'
加载并重新索引。
df2.to_json('file.json', orient='split')
df3 = pd.read_json('file.json', orient='split').set_index('Age')
将符合预期:
df3.index.name