假设我有一个 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 轴标签的顺序呢?例如,我想用特定顺序 C, A, B
替换默认顺序 A, C, B
。
此外,如何将 Y 轴从浮点数更改为整数?这里的频率值是离散计数。
from matplotlib.ticker import MaxNLocator
;plt.gca().yaxis.set_major_locator(MaxNLocator(integer=True))
- JohanCpandas.Categorical
将mycolumn
指定为分类变量,并设置顺序。 - Trenton McKinneyhist
的 API 不能有效地将类别进行分组,因此只能生成条形图。例如,如果您将所有字母映射为数字,您就可以看到hist
API 如何将数字分组以显示分布情况。 - Trenton McKinney