我正在尝试将一个包含一些日期的pandas数据帧保存到json中,然后将其读回。虽然当我从json读回数据时,我得到的日期格式不同(大多数情况下需要再次解析日期)。在
import pandas as pd
df = pd.Series(range(7),pd.date_range('2014-10-01','2014-10-07')).reset_index()
df.columns = ['LoadDate','number']
print df
LoadDate number
0 2014-10-01 0
1 2014-10-02 1
2 2014-10-03 2
3 2014-10-04 3
4 2014-10-05 4
5 2014-10-06 5
6 2014-10-07 6
现在,如果我要导出到并返回读数,我将得到以下结果(不需要)
^{pr2}$我想把日期原样读回。我怎样才能做到这一点?在
有趣的部分来了。在
df.columns = ['date','number']
print pd.read_json(df.to_json())
date number
0 2014-10-01 0
1 2014-10-02 1
2 2014-10-03 2
3 2014-10-04 3
4 2014-10-05 4
5 2014-10-06 5
6 2014-10-07 6
如果我将列的名称改为“date”,就可以了!当然,我希望能够将这个专栏称为与date不同的名称,所以我仍然对如何管理这个问题感兴趣。非常感谢!(我正在使用熊猫0.15.0!)在
首先,使用
to_json
时得到这些数字的原因。docstring表示“datetime对象将转换为UNIX时间戳”:因此,您看到的数字是unix epoch时间戳。但是有一个
^{pr2}$date_format
参数,to_json
也可以指定输出ISO格式的字符串:第二,为什么
read_json
的解析不同。再次,从docstring:默认情况下,这是真的,因此将尝试检测类似日期的列。显然,此检测还查看列名。但正如docstring所说,您还可以手动指定应将哪个列解析为日期:
相关问题 更多 >
编程相关推荐