python - 如何在python中为非数字变量制作直方图

标签 python pandas dataframe matplotlib histogram

示例数据

import pandas as pd
import matplotlib.pyplot as plt

dummy = {'id': [1,2,3,4,5], 
        'brand': ['MS', 'Apple', 'MS', 'Google', 'Apple'], 
        'quarter': ['2017Q2', '2017Q2', '2017Q2', '2016Q1', '2015Q1']}

dummyData = pd.DataFrame(dummy, columns = ['id', 'brand', 'quarter'])
dummyData


# id    brand   quarter
# 0 1   MS      2017Q2
# 1 2   Apple   2017Q2
# 2 3   MS      2017Q2
# 3 4   Google  2016Q1
# 4 5   Apple   2015Q1

现在我想使用 matplotlib 和 pandas 绘制直方图,这里是描述

  • X 轴:四分之一
  • Y 轴:值的计数
  • Histogram Bin: 填充品牌如 2017Q2 有 MS 和 Apple 两个颜色值
  • 传奇:品牌名称

我有 R 背景,使用 ggplot 非常容易,我想在 Python 中做同样的事情,但我没有找到任何合适的代码,我遇到下面提到的错误

TypeError: Empty 'DataFrame': no numeric data to plot

最佳答案

另一种选择

data_frame.attribute_name.value_counts().plot.bar()

例子

iris_data.sample(3)

Iris dataset sample

iris_data.Species.value_counts().plot.bar()

Iris dataset class bar plot

关于python - 如何在python中为非数字变量制作直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47809646/

相关文章:

python - Tensorflow 没有预测足够准确的结果

python - 如何检查字符串中是否包含某个单词?

python - 如何将分层命名的列添加到 Pandas DataFrame

python - 为什么 df.where() 不替换所有空值?

python - 通过 numpy.f2py 从 fortran 子程序返回时出现错误

python - 将列表拆分为更小的列表

python - 使用 python 创建绘图,同时将 excel 数据分离到新文件

python - 在 json 中存储 pandas 数据框时保持列和行顺序

python - 对多索引列数据帧进行切片以获得新的数据帧

python - 在构建需要编译代码的模块时将自定义 CMake 标志传递给 pip