如何绘制柱状图的均方直方图,而柱形图由熊猫中的另一列定义

时间:2020-08-03 18:56:59

标签: python pandas matplotlib histogram

我想为我的Pandas DataFrame的两列绘制一个直方图。虽然bin由列ratio的值定义,例如[0-0.1、0.1-0.2,...,0.9-1.0],而不是像常规直方图那样的计数,我需要为每个bin绘制另一列feet的平均值。我可能可以创建另一个对ratio列进行分箱的列,并通过对新列进行分组来计算feet的平均值。但是有一种方法可以只绘制它而不生成新列

1 个答案:

答案 0 :(得分:2)

您无需创建新列,只需将函数传递给groupby:

示例:

import pandas as pd
import numpy as np
df = pd.DataFrame({'ratio':np.random.rand(100), 'feet': np.random.rand(100)*10})
df.groupby(pd.cut(df.ratio, np.linspace(0,1,11))).feet.mean().plot.bar()

enter image description here PS:从熊猫1.1.0版开始,您可以直接指定y标签,例如...plot.bar(ylabel='Mean feet')