如何停止 Pandas Dataframe read_json 方法将我的时代转换为人类可读的字符串

Posted

技术标签:

【中文标题】如何停止 Pandas Dataframe read_json 方法将我的时代转换为人类可读的字符串【英文标题】:How do I stop Pandas Dataframe read_json method convert my epoch to human readable string 【发布时间】:2017-01-12 19:25:11 【问题描述】:

我使用to_json方法序列化我的dataframe,内容如下:

"1467065160244362165":"1985.875","1467065161029130301":"1985.875","1467065161481601498":"1985.875","1467065161486508221":"1985.875"

如何停止 read_json 方法将我的纪元值从 1467065160244362165 转换为类似 2016-06-28 06:57:23.786726222 的值。 这就是我调用 read_json 的方式:

data = pd.read_json(remote_result_fullpath, convert_dates=False)

【问题讨论】:

【参考方案1】:

对我有用:

import pandas as pd

#added  to file
remote_result_fullpath = 'https://dl.dropboxusercontent.com/u/84444599/file.json'

data = pd.read_json(remote_result_fullpath, 
                    convert_dates=False, #dont convert columns to dates 
                    convert_axes=False, #dont convert index to dates
                    typ='series') #if need convert output to Series

print (data)
1467065160244362165    1985.875
1467065161029130301    1985.875
1467065161481601498    1985.875
1467065161486508221    1985.875

print (data.dtypes)
dtype: float64
float64

如果需要字符串添加dtype:

data = pd.read_json(remote_result_fullpath, 
                    convert_dates=False, 
                    convert_axes=False,
                    typ='series',
                    dtype='object')

print (data)
1467065160244362165    1985.875
1467065161029130301    1985.875
1467065161481601498    1985.875
1467065161486508221    1985.875

print (data.dtypes)
dtype: object
object

print (data.index)
Index(['1467065160244362165', '1467065161029130301', '1467065161481601498',
       '1467065161486508221'],
      dtype='object')

【讨论】:

此解决方案不再是最新的。 read_json 不再接受这些参数。

以上是关于如何停止 Pandas Dataframe read_json 方法将我的时代转换为人类可读的字符串的主要内容,如果未能解决你的问题,请参考以下文章

pandas,如何合并多个相同列的csv文件

python之pandas用法大全

pandas.DataFrame:如何使用外部参数 applymap()

如何在 Pandas 中遍历 DataFrame 中的行

如何在 Pandas 中遍历 DataFrame 中的行

如何以“pickle”以外的 PANDAS-LOADABLE 二进制格式存储“pandas.DataFrame”