создание гистограммы из CSV-файла - PullRequest
2 голосов
/ 05 января 2012

Я пытаюсь прочитать столбец данных из 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

Есть идеи, что происходит?

Ответы [ 2 ]

1 голос
/ 05 января 2012

изменить шестую строку для приведения строки к числовому

    z.append(float(data[7]))

с этим у меня получился какой-то сюжет с моими вымышленными данными.

0 голосов
/ 05 января 2012

Вот два варианта, этот будет работать, если все ваши столбцы состоят из чисел:

array = np.loadtxt('thimar.csv', 'float', delimiter=',')
n, bins, patches = plt.hist(array[:, 7], 50, normed=1)

этот вариант лучше, если в вашем файле есть нечисловые столбцы (например, Имя, Пол, ...):

thimar = csv.reader(open('thimar.csv', 'rb'))
thimar_list = list(thimar)
zz = np.array([float(row[7]) for row in thimar_list])
n, bins, patches = plt.hist(zz, 50, normed=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...