У меня есть файл csv (excel spreadsheet) столбца, насчитывающего примерно миллион номеров. Я хочу сделать гистограмму этих данных с частотой чисел по оси у и количествами на оси х. Я знаю, что matplotlib может отображать гистограмму, но моя главная проблема заключается в преобразовании csv-файла из строки в float, поскольку строка не может быть графически. Это то, что у меня есть:Как создать гистограмму из файла csv, содержащего один столбец чисел в python?
import matplotlib.pyplot as plt
import csv
with open('D1.csv', 'rb') as data:
rows = csv.reader(data, quoting = csv.QUOTE_NONNUMERIC)
floats = [[item for number, item in enumerate(row) if item and (1 <= number <= 12)] for row in rows]
plt.hist(floats, bins=50)
plt.title("histogram")
plt.xlabel("value")
plt.ylabel("frequency")
plt.show()
http://www.sscce.org/ Каков результат, который вы получаете от того, что вы пробовали, и чем он отличается от того, что вы ожидаете ? –
, так что у вас есть только номера в файле? Можете ли вы привести пример своего ввода, так как ваш код, похоже, не соответствует вашему описанию? –
вы пытаетесь 'float (item)' –