Olg*_*nik 9 python json pandas
我正在尝试读取通过df.to_json()via 创建的数据帧,pd.read_json但我得到了一个ValueError.我认为它可能与索引是MultiIndex的事实有关,但我不知道如何处理它.
调用55k行的原始数据帧,psi我test.json通过以下方式创建:
psi.head().to_json('test.json')
Run Code Online (Sandbox Code Playgroud)
print 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')
Run Code Online (Sandbox Code Playgroud)
这是完整的堆栈:
---------------------------------------------------------------------------
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":
Run Code Online (Sandbox Code Playgroud)
但是当我在整个数据帧(55k行)上执行它时,我得到一个无效的指针错误,并且IPython内核死掉了.有任何想法吗?
编辑:首先添加了json的生成方式.
Jef*_*eff 10
这不是ATM实现的,请看这里的问题:https://github.com/pydata/pandas/issues/4889.
您可以先简单地重置索引,例如
df.reset_index().to_json(...)
Run Code Online (Sandbox Code Playgroud)
它会起作用.
| 归档时间: |
|
| 查看次数: |
4578 次 |
| 最近记录: |