python – 将Pandas系列导出为JSON – numpy类型出错

我想将一些行从Pandas DataFrame导出到
JSON.

但是,导出列时出现错误:

TypeError: False is not JSON serializable

要么

TypeError: 0 is not JSON serializable

我查看了我的数据,numpy.int64和numpy.bool_(numpy.float64工作正常)出现了问题.

例如,出现以下问题:

import pandas as pd
import simplejson as json

df = pd.DataFrame([[False,0],[True,1]], columns=['a','b'])
json.dumps(df.ix[0].to_dict())

(对于dict(df.ix [0]))也会发生同样的事情.

是否有一个简单的解决方法将Pandas系列导出为JSON?

或者至少是一个将任何numpy类型强制转换为与JSON兼容的最接近类型的函数?

最佳答案 DataFrame有一个将自身导出到json字符串的方法:

>>> df.to_json()
'{"a":{"0":false,"1":true},"b":{"0":0,"1":1}}'

您也可以将其直接导出到文件中:

>>> df.to_json(filename)
点赞