#python #csv #matplotlib
#python #csv #matplotlib
Вопрос:
Я играю с Kaggle Titanic train.csv, чтобы удобнее работать со списками, программой чтения csv и диаграммами matplot. Неважно, что список, который я создаю, на самом деле не нужен для отображения данных на диаграмме (или что диаграмма представляет собой строку …). Я просто хочу создать простую диаграмму и сохранить ее, но когда я ищу ее в текущем каталоге, ее там нет. Есть ли что-то не так с кодом (помимо того, что он не очень «питонический»)?
Я запускаю Windows и выполняю в Powershell.
Элемент 1 в csv определяет выживших, элемент 4 указывает мужчину / женщину, элемент 5 — возраст. Я хочу, чтобы на диаграмме отображалось количество выживших мужчин каждого перечисленного возраста, прежде чем я перейду к чему-то значимому.
import csv
import matplotlib.pyplot as plt
f = open("PATH/train.csv")
csv_f = csv.reader(f)
class survivordata:
def male_test(self, data):
for row in data:
tlist = list(row)
# now I have a list of tuples.
if tlist[4] == "male" and tlist[1] == 1:
males = []
males.append(row)
c = counter(males)
plt.plot(males[5], c[5], color = 'blue', marker = 'x',
linestyle = 'solid'
)
plt.title("Male Survivors")
plt.ylabel("Number Survivors")
plt.savefig("graph.png")
Ценю обратную связь.
Комментарии:
1. добавьте много
print(some_usefull_message)
в код, чтобы увидеть, какая часть выполняется.
Ответ №1:
csv
модуль не преобразует текст в int
, поэтому вам нужно сравнивать tlist[1]
с текстом "1"
.
Если это не сработает, добавьте много print(some_usefull_message)
в код, чтобы увидеть, какая часть выполняется. И выведите переменную, чтобы увидеть значения. В основном это помогает решить проблему.
Комментарии:
1. Спасибо — надо было попробовать это с самого начала. Теперь я могу перейти к проблемам с модулем, которые, похоже, у меня возникли.