pandas 读csv文件 TypeError: Empty 'DataFrame': no numeric data to plot

简单的代码,利用pandas模块读csv数据文件,这里有两种方式,一种是被新版本pandas遗弃的Series.from_csv;另外一种就是pandas.read_csvspa

先说一下问题这个问题就是在读csv文件时,默认的数据是object类型,于是没有字符型数据可被plot,此时仅须要转换一下类型便可,以下:code

from pandas import Series
import matplotlib.pyplot as plt
data = Series.from_csv('daily.csv',header=0)
#print(data.head())
data.astype(float)
data.plot()
plt.show()

完美解决这个问题,画出了下图:blog

这正是想要的结果,那么另外一种就是pandas.read_csv,就没有那么幸运了,你会发现csv里面存的这种数据:pandas

1981/1/1,20.7
1981/1/2,17.9
1981/1/3,18.8
1981/1/4,14.6
1981/1/5,15.8
1981/1/6,15.8
1981/1/7,15.8
1981/1/8,17.4
1981/1/9,21.8
1981/1/10,20
1981/1/11,16.2
1981/1/12,13.3
1981/1/13,16.7
1981/1/14,21.5

是不能显示为x轴label的,因而我就把第一列改为了1981....这样的数字,解决问题。这时候固然就不推荐使用第二种方法了,这么麻烦还用什么pandas,直接plt画了。ast

最后,就是必定要注意数据是否有异常,有些异常数据是文本上的异常,而有些多是语义上的异常,这都须要咱们去挖掘,去除异常数据。这每每是很重要的,固然画图每每又是比较直观的方式之一。class

相关文章
相关标签/搜索