根据变量类别的计数绘制数据集
Plot a Data Set According to Counts of Categories of a Variable
我有一个包含 14 列的数据集(我不得不只使用 4 列:旅行 class、性别、年龄和票价),我已将其拆分为火车和测试数据集。我需要根据火车数据集创建一个垂直条形图,以显示乘车 class 的乘客分布(1、2 和 3 是 classes)。我不允许使用 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 行,因此可能很难列出所有行。以上是否合理?
使用plt.hist
,这将绘制直方图(more info here)
示例:
import matplotlib.pyplot as plt
classes = [1, 2, 1, 1, 3, 3]
plt.hist(classes)
plt.show()
这是结果:
我有一个包含 14 列的数据集(我不得不只使用 4 列:旅行 class、性别、年龄和票价),我已将其拆分为火车和测试数据集。我需要根据火车数据集创建一个垂直条形图,以显示乘车 class 的乘客分布(1、2 和 3 是 classes)。我不允许使用 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 行,因此可能很难列出所有行。以上是否合理?
使用plt.hist
,这将绘制直方图(more info here)
示例:
import matplotlib.pyplot as plt
classes = [1, 2, 1, 1, 3, 3]
plt.hist(classes)
plt.show()
这是结果: