【问题标题】:Pandas, Histogram Plotting With Subplots Based on Column ValuesPandas,使用基于列值的子图绘制直方图
【发布时间】:2017-01-12 19:06:08
【问题描述】:

我有一个看起来像这样的熊猫数据表:

而且它会遍历很多行。我想单独查看大约 30 或 40 个不同的属性。

我希望根据持续时间为每个单独的属性创建一个直方图。所以属性 A、属性 B、属性 C 等的直方图......

我知道如何为所有属性执行此操作,如下面的代码所示:

df['duration'].plot(kind='hist', sharex=False, use_index=False, bins=100)
plt.show()

有什么想法可以解决这个问题吗?

【问题讨论】:

  • 我认为是df.groupby('property_name').hist()
  • 所以我已经做到了,如果有两个以上的列,我该如何让它工作。我刚刚做到了,它正在为每列绘制一个带有数值的直方图。 (因此它为每个属性生成多个直方图)。如何根据持续时间为每个属性创建一个直方图

标签: python-2.7 pandas histogram


【解决方案1】:

考虑以下数据框df

df = pd.DataFrame(dict(duration=np.random.rand(1000),
                       property_name=np.random.choice(list('abc'), 1000)))

那你就可以了

df.groupby('property_name').hist(figsize=(10,2))

【讨论】:

  • 所以我已经做到了,如果有两个以上的列,我该如何让它工作。我刚刚做到了,它正在为每列绘制一个带有数值的直方图。 (因此它为每个属性生成多个直方图)。如何根据持续时间为每个属性创建一个直方图 – Josh Dautel 刚刚编辑
【解决方案2】:

没关系,明白了!

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.hist.html

df.groupby('property_name').hist(column='duration')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 2017-11-13
    • 2021-03-07
    相关资源
    最近更新 更多