【问题标题】:dataframe.hist() with different bin size具有不同 bin 大小的 dataframe.hist()
【发布时间】:2020-05-21 17:02:43
【问题描述】:


需要用每列唯一值的 bin 大小绘制直方图。
当每列具有完全差异大小的唯一值时特别使用。

假设,一列有 2 个唯一值,bin = 2
另一个 col 有 50 个唯一值,bin = 50
在这里,我无法定义一个常见的 bin 大小

我已经试过了:

dataframe.hist(bins = dataframe.nunique())  

但这不起作用。

给我这个错误:
ValueError: bins 必须单调递增,当数组时

【问题讨论】:

  • dataframe['your_column'].value_counts().plot.bar()?
  • @QuangHoang 就是这样,我想一次性完成所有列。如果我有 20 列怎么办。
  • dataframe.apply(lambda x: x.value_counts().plot.bar())?甚至for column in df.columns: do_the_previous_comment?
  • @QuangHoang 嗯。它应该可以工作,但我的 jupyter notebook 只给了我一个情节。我相信,它不会显示每一个。
  • 您可以在 for 循环中创建一个新的图形实例。让我把它放在一个答案中。

标签: python pandas dataframe histogram


【解决方案1】:

你可以试试这个:

for col in df.columns:
    fig, ax = plt.subplots()
    df[col].value_counts().plot.bar(ax=ax)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 2011-10-02
    • 2018-02-21
    • 1970-01-01
    相关资源
    最近更新 更多