【发布时间】:2017-01-05 01:43:08
【问题描述】:
我有一个包含 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 行,所以可能很难列出所有这些。以上看起来合理吗?
【问题讨论】:
-
你试过编码吗?
-
嗨,是的,我有:)
-
我已将代码插入帖子中
-
您遇到了什么错误?如果您告诉所需的输出会更好
-
我得到一个指向第 8 行的类型错误:keys = travelling_class() 说“TypeError: 'dict' object is not callable”。抱歉,我应该告诉所需的输出。我需要一个图表,其中 x 轴上有 3 个条形图(每个类 1 个),绘制在 y 轴上的人数(即每个类中的记录数)。
标签: python bar-chart categories training-data test-data