gpt4 book ai didi

python - Pandas DataFrame 日期时间索引在 JSON 转换和重新转换后无法生存

转载 作者:太空狗 更新时间:2023-10-30 01:15:00 27 4
gpt4 key购买 nike

我有以下 Python 代码片段:

import pandas as pd

# print normal index
print data.index

# convert from df to JSON and back
data_json = data.to_json()
df = pd.read_json(data_json)
df.index = pd.to_datetime(df.index)
print df.index

出于某种原因运行此返回:

<class 'pandas.tseries.index.DatetimeIndex'>
[1950-01-03 00:00:00, ..., 2014-08-21 00:00:00]
Length: 16264, Freq: None, Timezone: None
<class 'pandas.tseries.index.DatetimeIndex'>
[1966-10-31 00:00:00, ..., 2001-09-07 00:00:00]
Length: 16264, Freq: None, Timezone: None

有人可以向我解释发生了什么,以及如何让索引在转换过程中保持不变吗?

最佳答案

这里的错误是to_json默认保存毫秒分辨率的日期,而to_datetime默认转换纳秒分辨率。要修复,这些中的任何一个(但不是两个!)都可以。

pd.to_datetime(df.index, unit='ms')
#OR
data_json = data.to_json(date_unit='ns')

如评论中所述,您也可以只将带有日期的 json 保存为 iso 格式。

关于python - Pandas DataFrame 日期时间索引在 JSON 转换和重新转换后无法生存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25455067/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com