python - 如何按数字顺序而不是基于 y 轴值绘制 pandas 条形图的 x 轴

标签 python pandas

我有一个看起来像这样的 pandas df

,Difference Max
0,12.0
1,1.0
2,-7.0
3,-5.0
4,2.0
5,3.0
6,10.0
7,0.0
8,0.0
9,3.0
10,3.0

从这个 df 我想绘制一个条形图/直方图,显示“最大差异”列中每个值的出现次数。我目前有这个条形图 enter image description here

使用以下代码:

df_maxdif['Difference Max'].value_counts().plot(kind='bar')

但我希望 x 轴的数字顺序为从最左侧的 -21 到最右侧的 10。我试过简单地绘制 kind = 'hist' 但这并不是我想要的。

最佳答案

value_counts()sort_index:

df_maxdif['Difference Max'].value_counts().sort_index().plot(kind='bar')

或者使用plt.hist:

plt.hist(df['Difference Max'], bins=np.arange(-21,10))

输出(对于 plt.hist):

enter image description here

关于python - 如何按数字顺序而不是基于 y 轴值绘制 pandas 条形图的 x 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63942111/

相关文章:

python - 如何在 Python 中按顺序计算两个单词之间的常用字母?

python - 导入模块函数及其所需的依赖项

python - 匹配所有给定值的 m2m 字段上的 Django 过滤器

python - 将 excel(xlsx) 文件读入数据帧时出现错误 read_excel() 遇到意外的关键字参数 'encoding'

python - 如何在 python 3.4.4 中一次将相同的转换逻辑应用于多个列

python - 在 python 中迭代 IOString 缓冲区

python - python中的无环3D矩阵乘法

python - 在 Pandas 中有效地从 n 个可能性中选择 r 个结果

python - pandas groupby 数字条纹

python - 删除数据框中的重复项,同时保留最旧的记录