我想從csv文件讀取一列數據併爲其創建直方圖。我可以將數據讀入數組,但無法制作直方圖。下面是我做的:從csv文件製作直方圖
thimar=csv.reader(open('thimar.csv', 'rb'))
thimar_list=[]
thimar_list.extend(thimar)
z=[]
for data in thimar_list:
z.append(data[7])
zz=np.array(z)
n, bins, patches = plt.hist(zz, 50, normed=1)
它給我的錯誤:
TypeError: cannot perform reduce with flexible type
任何想法是怎麼回事?
您可能需要將字符串轉換爲數字。我認爲csv.reader只是創建字符串列表,並且numpy創建了一串字符串 – yosukesabai 2012-01-05 15:32:13
你需要使用'csv'嗎?我認爲'np.loadtxt'會在這裏做得更好(簡單的代碼,自動轉換等)。 – 2012-01-05 15:57:44
我嘗試使用csv over loadtxt,因爲它更好地處理非數字字段,例如列標籤。但是如果csv只有數字,那麼loadtxt是一個不錯的選擇。 – 2012-01-05 16:17:36