gpt4 book ai didi

python - Pandas 读取 json 不适用于 MultiIndex

转载 作者:太空狗 更新时间:2023-10-29 20:51:53 25 4
gpt4 key购买 nike

我正在尝试通过 pd.read_json 读取通过 df.to_json() 创建的数据帧,但我收到了一个 ValueError。我认为这可能与索引是 MultiIndex 这一事实有关,但我不确定如何处理它。

55k 行的原始数据框称为 psi 我通过以下方式创建了 test.json:

psi.head().to_json('test.json')

Hereprint psi.head().to_string() 的输出,如果你想使用的话。

当我对这一小组数据(5 行)执行此操作时,我得到一个 ValueError

! wget --no-check-certificate https://gist.githubusercontent.com/olgabot/9897953/raw/c270d8cf1b736676783cc1372b4f8106810a14c5/test.json
import pandas as pd
pd.read_json('test.json')

这是完整的堆栈:

---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-14-1de2f0e65268> in <module>()
1 get_ipython().system(u' wget https://gist.githubusercontent.com/olgabot/9897953/raw/c270d8cf1b736676783cc1372b4f8106810a14c5/test.json'>)
2 import pandas as pd
----> 3 pd.read_json('test.json')

/home/obot/virtualenvs/envy/lib/python2.7/site-packages/pandas/io/json.pyc in read_json(path_or_buf, orient, typ, dtype, convert_axes, convert_dates, keep_default_dates, numpy, precise_float, date_unit)
196 obj = FrameParser(json, orient, dtype, convert_axes, convert_dates,
197 keep_default_dates, numpy, precise_float,
--> 198 date_unit).parse()
199
200 if typ == 'series' or obj is None:

/home/obot/virtualenvs/envy/lib/python2.7/site-packages/pandas/io/json.pyc in parse(self)
264
265 else:
--> 266 self._parse_no_numpy()
267
268 if self.obj is None:

/home/obot/virtualenvs/envy/lib/python2.7/site-packages/pandas/io/json.pyc in _parse_no_numpy(self)
481 if orient == "columns":
482 self.obj = DataFrame(
--> 483 loads(json, precise_float=self.precise_float), dtype=None)
484 elif orient == "split":
485 decoded = dict((str(k), v)

ValueError: No ':' found when decoding object value

> /home/obot/virtualenvs/envy/lib/python2.7/site-packages/pandas/io/json.py(483)_parse_no_numpy()
482 self.obj = DataFrame(
--> 483 loads(json, precise_float=self.precise_float), dtype=None)
484 elif orient == "split":

但是当我在整个数据帧(55k 行)上执行此操作时,我得到一个 invalid pointer error IPython 内核死亡。有什么想法吗?

编辑:首先添加了 json 的生成方式。

最佳答案

这不是实现的 ATM,请在此处查看问题:https://github.com/pydata/pandas/issues/4889 .

您可以先简单地重置索引,例如

df.reset_index().to_json(...)

它会起作用。

关于python - Pandas 读取 json 不适用于 MultiIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22768682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com