如何绘制重新采样的熊猫系列?

时间:2020-04-27 10:31:59

标签: python pandas

我有一个简单的数据框,只有date列和amount列:

    local_date  amount
48  2020-01-01   30.00
464 2020-01-01    1.49
465 2020-01-01   22.45
469 2020-01-01    7.49
472 2020-01-01   19.17
473 2020-01-01   49.37
475 2020-01-01    7.72
481 2020-01-01   59.98
482 2020-01-01    8.20
483 2020-01-01   14.24

Dtypes:

local_date    datetime64[ns]
amount               float64

我想对其重新采样,以获取每周amount的总和,然后进行绘制。

重新采样有效:

df.set_index('local_date')['amount'].resample('W').sum()

local_date
2020-01-05    339198.67
2020-01-12    570769.94
2020-01-19    556042.39
2020-01-26    564230.50
2020-02-02    569204.69
2020-02-09    606505.21
2020-02-16    620612.11
2020-02-23    618156.03
2020-03-01    645825.50
2020-03-08    688377.73
2020-03-15    892803.67
2020-03-22    783538.04
2020-03-29    856011.93
2020-04-05    243519.71
Freq: W-SUN, Name: amount, dtype: float64

但是当我向其中添加.plot()时,我得到一个错误:

df.set_index('local_date')['amount'].resample('W').sum().plot()


TypeError: float() argument must be a string or a number, not 'Period'

我肯定我已经用这种方法多次绘制过。如果plot参数不接受句点,是否必须将其转换为字符串?

1 个答案:

答案 0 :(得分:0)

我会这样。

数据

强制日期到日期时间

df['local_date']=pd.to_datetime(df['local_date'])

分组日期并计算每个日期的金额总和

df.groupby(df.index.date)['amount'].sum().reset_index().plot()