【发布时间】:2017-05-20 11:47:45
【问题描述】:
我需要使用 to_json 方法将 Pandas DataFrame 序列化为 JSON。这是我如何做的一个例子:
import pandas
import numpy as np
dr = pandas.date_range('2016-01-01T12:30:00Z', '2016-02-01T12:30:00Z')
data = np.random.rand(len(dr), 2)
df = pandas.DataFrame(data, index=dr, columns=['a', 'b'])
# NOTE: The index for df has the following properties in pandas 0.19.2
# dtype='datetime64[ns, UTC]', freq='D'
# Save to JSON
df.to_json('/tmp/test_data_01.json', date_unit='s', date_format='iso')
使用上面的代码,我看到我的 DataFrame 已保存到磁盘,并且索引看起来像:[2016-01-01T12:30:00Z, 2016-01-02T12:30:00Z, ...] in文件 /tmp/test_data_01.json。
问题是当我执行以下操作时:
df2 = pandas.read_json('/tmp/test_data_01.json')
df2 的索引没有时区。
df2.index.tz
# Returns None
是否要保留序列化为 JSON 并反序列化的 DataFrame 的 timezone 属性?
【问题讨论】: