pandas - 如何使用标称值绘制 Pandas 的直方图?

标签 pandas histogram

鉴于:

ser = Series(['one', 'two', 'three', 'two', 'two'])

如何绘制这些值的基本直方图?

这是我想在matplotlib中看到的ASCII版本:
     X
 X   X   X
-------------
one two three

我讨厌看到:
TypeError: cannot concatenate 'str' and 'float' objects

最佳答案

您可以使用 value_counts 方法:

In [10]: ser.value_counts()
Out[10]: 
two      3
one      1
three    1

然后plot this as a bar chart:
ser.value_counts().plot(kind='bar')

编辑:我注意到这并不能保持所需的顺序。如果您有用于此排序的列表/系列(在这种情况下,ser[:3]可以),则可以在绘制之前 reindex :
In [12]: ser.value_counts().reindex(ser[:3])
Out[12]: 
one      1
two      3
three    1

关于pandas - 如何使用标称值绘制 Pandas 的直方图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14248706/

相关文章:

python - Pandas 蟒 : Writing output to specific cells in the CSV

python - 如何将多个字典中的数据合并到 DataFrame 中的一行中

image-processing - 基于内容的图像检索的直方图比较。不同的颜色空间(RGB、HSV 等)

date - 根据日期值过滤 Pandas 数据框

python - 将我的自定义函数应用于数据框 python

python - 根据当前时间戳获取会计年度-python

python - 生成以 y 轴作为相对频率的直方图?

openmp - 在不使用临界区的情况下,与 OpenMP 并行填充直方图(数组缩减)

Python Jupyter 笔记本 : Put two histogram subplots side by side in one figure

javascript - 如何在d3中绘制单轴频率分布图?