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

相關文章
相關標籤/搜索