我有一个数据集,其中有14列(我只需要使用4列:旅行类,性别,年龄和票价),我已将其分为火车和测试数据集。我需要根据列车数据集创建一个垂直条形图,以便按旅行班分配乘客(1,2和3是班级)。我不允许使用NumPy,Pandas,SciPy和SciKit-Learn。
我是Python的新手,我知道如何绘制非常简单的图形,但是当涉及更复杂的图形时,我会有点迷失。
这是我的代码(我知道有很多错误):
travelling_class = defaultdict(list)
for row in data:
travelling_class[row[0]]
travelling_class = {key: len(val) for key, val in travelling_class.items()}
keys = travelling_class()
vals = [travelling_class[key] for key in keys]
ind = range(min(travelling_class.keys()), max(travelling_class.keys()) + 1)
width = 0.6
plt.xticks([i + width/2 for i in ind], ind, ha='center')
plt.xlabel('Tracelling Class')
plt.ylabel('Counts of Passengers')
plt.title('Number of Passengers per Travelling Class')
plt.ylim(0, 1000)
plt.bar(keys, vals, width)
plt.show()
import matplotlib.pyplot as plt
classes = travelling_class[1, 2, 3]
plt.hist(classes)
plt.show()
@TrakJohnson这是问题的原始提问者 - 对不起,我不小心删掉了我的个人资料,所以不得不换个新的。非常感谢你的帮助。问题是我的数据集是1045行,因此可能很难列出所有这些行。以上看似合理吗?
答案 0 :(得分:1)
使用plt.hist
,它会绘制直方图(more info here)
示例:
import matplotlib.pyplot as plt
classes = [1, 2, 1, 1, 3, 3]
plt.hist(classes)
plt.show()
这就是结果: