Python:float()参数必须是字符串或数字,而不是'Period'

时间:2019-11-18 07:09:01

标签: python pandas matplotlib

具有以下代码,我试图通过这些代码来绘制图形:

df:
     date        qty
0  2016-01-01   21.523810
1  2016-02-01   20.476190
2  2016-03-01   20.523810
3  2016-04-01   26.666667
4  2016-05-01   
...
%matplotlib inline
import matplotlib
from matplotlib import pyplot as plt
from pylab import rcParams
import numpy as np
import pandas as pd

rcParams['figure.figsize'] = 10, 8 # width 10, height 8
matplotlib.rcParams.update({'font.size': 14})

ax = df.plot(x='date', y='qty', style='bx-', grid=True)

但收到以下错误消息:

  

TypeError:float()参数必须是字符串或数字,而不是'Period'

无法从此浮动错误发生的地方获取信息。任何建议都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

一个想法是在绘制之前将周期转换为日期时间:

df['date'] = df['date'].dt.to_timestamp()

对于我来说,也可以使用您的解决方案,也许您可​​以尝试升级到最新版本的pandas / matplotlib。