gpt4 book ai didi

python - Pandas 绘图功能忽略时间序列的时区

转载 作者:太空狗 更新时间:2023-10-29 21:47:04 25 4
gpt4 key购买 nike

当使用 pandas 的内置 plot 函数绘制时间序列时,它似乎忽略了我的索引的时区:它始终使用 UTC 时间作为 x 轴。一个例子:

import numpy as np
import matplotlib.pyplot as plt
from pandas import rolling_mean, DataFrame, date_range

rng = date_range('1/1/2011', periods=200, freq='S', tz="UTC")
data = DataFrame(np.random.randn(len(rng), 3), index=rng, columns=['A', 'B', 'C'])
data_cet = data.tz_convert("CET")

# plot with data in UTC timezone
fig, ax = plt.subplots()
data[["A", "B"]].plot(ax=ax, grid=True)
plt.show()

# plot with data in CET timezone, but the x-axis remains the same as above
fig, ax = plt.subplots()
data_cet[["A", "B"]].plot(ax=ax, grid=True)
plt.show()

剧情没有变化,虽然索引有:

In [11]: data.index[0]
Out[11]: <Timestamp: 2011-01-01 00:00:00+0000 UTC, tz=UTC>
In [12]: data_cet.index[0]
Out[12]: <Timestamp: 2011-01-01 01:00:00+0100 CET, tz=CET>

我应该提交错误,还是会遗漏什么?

最佳答案

这绝对是一个错误。我已经创建了关于 github 的报告.原因是因为在内部,pandas 将常规频率 DatetimeIndex 转换为 PeriodIndex 以挂接到 pandas 中的格式化程序/定位器,目前 PeriodIndex 不保留时区信息。请继续关注修复。

关于python - Pandas 绘图功能忽略时间序列的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13030402/

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