栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用matplotlib在x轴上绘制datetimeindex会在熊猫0.15中创建错误的刻度,而0.14则相反

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用matplotlib在x轴上绘制datetimeindex会在熊猫0.15中创建错误的刻度,而0.14则相反

请注意,此错误已在pandas 0.15.1(https://github.com/pandas-
dev/pandas/pull/8693
)中修复,

plt.plot(df.index, df.RandomValues)
现在可以再次使用。


行为发生这种变化的原因是,从0.15开始,pandas

Index
对象不再是numpy ndarray子类。但是 真正的原因
是matplotlib不支持
datetime64
dtype。

解决方法是,在要使用matplotlib

plot
函数的情况下,可以使用以下命令将索引转换为python datetime
to_pydatetime

plt.plot(df.index.to_pydatetime(), df.RandomValues)

更详细的解释:

由于

Index
不再是ndarray子类,因此matplotlib会将索引转换为dtype的numpy数组
datetime64
(而之前,它保留了
Index
对象,该对象的标量作为
Timestamp
值返回
datetime.datetime
,是matplotlib可以处理的子类)。在该
plot
函数中,它调用
np.atleast_1d()
输入,该输入现在返回datetime64数组,matplotlib将其作为整数处理。

我打开了一个与此有关的问题(因为它可能会得到很多使用):https
:
//github.com/pydata/pandas/issues/8614



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611737.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号