假设我有一列具有离散值的Pandas数据框。
import pandas as pd
data = ['A']*2 + ['C']*3 + ['B']* 1
print(data)
# ['A', 'A', 'C', 'C', 'C', 'B']
my_df = pd.DataFrame({'mycolumn': data})
print(my_df)
# mycolumn
# 0 A
# 1 A
# 2 C
# 3 C
# 4 C
# 5 B
然后,我创建一个直方图,显示这些值的频率。我使用了Pandas内置函数hist()
,该函数又依赖于Matplotlib直方图函数。
my_df.mycolumn.hist()
现在,如何更改X轴上标签的顺序以具有特定顺序?例如,我希望x轴具有特定顺序的标签:C, A, B
,而不是A, C, B
如图所示。
另外,如何将y轴更改为整数而不是浮点数?频率值是离散计数。
您可以使用value_counts
,loc
定义秩序,bar
情节:
my_df.mycolumn.value_counts().loc[['C', 'A', 'B']].plot.bar()
在y轴上使用整数的解决方案:
from matplotlib.ticker import MaxNLocator
ax = my_df.mycolumn.value_counts().loc[['C', 'A', 'B']].plot.bar()
ax.yaxis.set_major_locator(MaxNLocator(integer=True))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句