【发布时间】:2018-01-09 17:49:27
【问题描述】:
我有一个与以下类似的数据集
Group Values
------- -------
Group A 5
Group B 2
Group C 10
我对数据集进行了排序:
dataset2 = data.sort_values(by= 'Values', ascending=False)
当我显示dataset2 时,它会以正确的降序正确显示数据集。但是,当我用matplotlib 绘制dataset2 时,它使用原始数据顺序绘制它;不是排序的。
left = dataset2.index.values
height = dataset2['Values'] # heights of bars
tick_label = dataset2['Group'] # labels for bars
# plotting a bar chart
plt.bar(left, height, tick_label = tick_label, width = 0.8)
plt.xticks(rotation=90)
plt.show()
【问题讨论】:
-
当你输出
dataset2['Values']时会发生什么? -
索引的全部意义在于,如果您对数据框进行排序,它不会改变。因此输出保持不变,即“GroupA”仍将具有索引 0,即使它位于已排序数据帧的第二行。您可以创建一个新索引来进行绘图,而不是使用旧索引。
-
基本故障排除:
print(left)。你看到了什么?
标签: python-3.x pandas matplotlib