gpt4 book ai didi

python - x轴不连续时如何删除冗余日期时间pandas DatetimeIndex

转载 作者:太空宇宙 更新时间:2023-11-04 02:47:35 44 4
gpt4 key购买 nike

我想绘制一个 pandas 系列,其索引是不计其数的 DatatimeIndex。我的代码如下:

import matplotlib.dates as mdates
index = pd.DatetimeIndex(['2000-01-01 00:00:00', '2000-01-01 00:01:00',
'2000-01-01 00:02:00', '2000-01-01 00:03:00',
'2000-01-01 00:07:00',
'2000-01-01 00:08:00'],
dtype='datetime64[ns]')
df = pd.Series(range(6), index=index)
print(df)
plt.plot(df.index, df.values)
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter("%M"))
plt.show()

输出是:enter image description here但结果并不是我真正想要的,因为 2000-01-01 00:04:00 也绘制在图像上。期望的结果是在 x 轴上 03:00 紧挨着 07:00,图像应该是一条直线。期待你的好主意。

最佳答案

一个可能的解决方案是通过 strftime 将索引转换为 string并使用 Series.plot :

s = pd.Series(range(6), index=index)
print(s)
2000-01-01 00:00:00 0
2000-01-01 00:01:00 1
2000-01-01 00:02:00 2
2000-01-01 00:03:00 3
2000-01-01 00:07:00 4
2000-01-01 00:08:00 5
dtype: int32

s.index = s.index.strftime('%M')
s.plot()

另一种解决方案是通过arange 绘制然后添加xticks :

x = np.arange(len(s.index))
plt.plot(x, s)
plt.xticks(x, s.index.strftime('%M'))
plt.show()

graph

关于python - x轴不连续时如何删除冗余日期时间pandas DatetimeIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44690454/

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