我想从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