【发布时间】:2020-07-18 18:12:49
【问题描述】:
我有一个看起来像这样的数据框:
Date Data_Value
19 2005-01-01 156
79 2005-01-02 139
99 2005-01-03 133
29356 2007-01-04 106
29388 2007-01-05 128
我想将其绘制为月份和日期,忽略年份,但是当我执行以下操作时:
data['Date']=pd.to_datetime(data['Date'])
data['Date']=data['Date'].dt.strftime('%m-%d')
plt.figure()
plt.plot(data['Date'],data['Data_Value'],'-o')
我收到以下错误:
ValueError: could not convert string to float: '12-31'
我怎样才能绕过这个?
【问题讨论】:
-
您使用的是旧版本的 matplotlib 吗?
-
当您使用
strftime时,您会自动将您的日期时间转换为字符串。由于您的数据中有多年的数据,您是否都希望每年都有多行? -
我不希望图表依赖于年份。这是天气数据,所以我试图在特定日期找到几年的最大值。我只希望数据与月日相关联。
标签: python pandas date datetime matplotlib