Pandas加载JSON文件DatetimeIndex而不是float

时间:2018-01-08 13:42:37

标签: python json pandas

我有以下JSON文件,我从pandas数据框保存:

{
  "A": {
    "69.0": 0,
    "69.5": 0,
    "70.0": 0,
    "70.5": 0,
    "71.0": 0
  },
  "B": {
    "69.0": 1,
    "69.5": 2,
    "70.0": 3,
    "70.5": 4,
    "71.0": 5
  },
  "C": {
    "69.0": 1,
    "69.5": 1,
    "70.0": 1,
    "70.5": 1,
    "71.0": 1
  }
}

当我跑步时

df = pd.read_json("df.json")

我得到了数据帧,但索引是一个DatetimeIndex 并df.tail()返回:

A  B  C
1970-01-01 00:01:09.000  0  1  1
1970-01-01 00:01:09.500  0  2  1
1970-01-01 00:01:10.000  0  3  1
1970-01-01 00:01:10.500  0  4  1
1970-01-01 00:01:11.000  0  5  1

我希望索引是浮点数而不是DatetimeIndex。 如何使用正确的索引类型加载JSON? 我无法改变原来的JSON。

由于

1 个答案:

答案 0 :(得分:0)

假设您有以下词典

In [101]: d
Out[101]:
{'A': {'69.0': 0, '69.5': 0, '70.0': 0, '70.5': 0, '71.0': 0},
 'B': {'69.0': 1, '69.5': 2, '70.0': 3, '70.5': 4, '71.0': 5},
 'C': {'69.0': 1, '69.5': 1, '70.0': 1, '70.5': 1, '71.0': 1}}

您可以按如下方式构建DF:

In [102]: pd.DataFrame(d)
Out[102]:
      A  B  C
69.0  0  1  1
69.5  0  2  1
70.0  0  3  1
70.5  0  4  1
71.0  0  5  1