gpt4 book ai didi

python - 绘制一个图表,其 x 标签是月份和日期

转载 作者:太空宇宙 更新时间:2023-11-04 00:37:58 25 4
gpt4 key购买 nike

我有这样一个数据框

    2015max  2015min  idxmax  idxmin
01-05 242.0 -54.0 241.0 -127.0
01-26 245.0 -45.0 238.0 -134.0
04-02 298.0 -23.0 280.0 -59.0
04-04 288.0 72.0 283.0 -86.0
04-17 281.0 29.0 278.0 -47.0

我想用它的 x 标签覆盖任何点的数据散点是一年,如“01-01,01-02,01-03 ...”我试过用

idxmin.index = pd.to_datetime(idxmin.index, format='%m-%d',errors='ignore') 

但它总是让我想起错误:

ValueError: could not convert string to float

有没有人有解决问题的好主意?

最佳答案

您的数据中似乎有一些错误的值,因此需要参数 error='coerce' 将它们替换为 NaT 然后替换 NaT 一些值(value):

print (idxmin)
2015max 2015min idxmax idxmin
01-05 242.0 -54.0 241.0 -127.0
01-26 245.0 -45.0 238.0 -134.0
04-02 298.0 -23.0 280.0 -59.0
04-04 288.0 72.0 283.0 -86.0
04-35 281.0 29.0 278.0 -47.0 <- change last value to bad for testing

idxmin.index = pd.to_datetime(idxmin.index, format='%m-%d',errors='coerce')
print (idxmin)
2015max 2015min idxmax idxmin
1900-01-05 242.0 -54.0 241.0 -127.0
1900-01-26 245.0 -45.0 238.0 -134.0
1900-04-02 298.0 -23.0 280.0 -59.0
1900-04-04 288.0 72.0 283.0 -86.0
NaT 281.0 29.0 278.0 -47.0

idxmin.index = idxmin.index.fillna(pd.to_datetime('01-01-2000'))
print (idxmin)
2015max 2015min idxmax idxmin
1900-01-05 242.0 -54.0 241.0 -127.0
1900-01-26 245.0 -45.0 238.0 -134.0
1900-04-02 298.0 -23.0 280.0 -59.0
1900-04-04 288.0 72.0 283.0 -86.0
2000-01-01 281.0 29.0 278.0 -47.0

您还可以检查所有错误值:

print (idxmin.index[pd.isnull(pd.to_datetime(idxmin.index, format='%m-%d',errors='coerce'))])
Index(['04-35'], dtype='object')

关于python - 绘制一个图表,其 x 标签是月份和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43086123/

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