我想为我的Pandas DataFrame的两列绘制一个直方图。bin定义在ratio列上,例如[0-0.1,0.1- 0.2,..,0.9 -1.0],我想为每个bin绘制另一列feet的平均值。有没有一种方法可以在不生成新列的情况下绘制直方图?
ratio
feet
sg3maiej1#
你不需要创建一个新的列,只需要传递一个函数给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()
字符串
PS:从pandas 1.1.0版本开始,你可以像...plot.bar(ylabel='Mean feet')一样直接指定y标签。
...plot.bar(ylabel='Mean feet')
1条答案
按热度按时间sg3maiej1#
你不需要创建一个新的列,只需要传递一个函数给groupby:
范例:
字符串
PS:从pandas 1.1.0版本开始,你可以像
...plot.bar(ylabel='Mean feet')
一样直接指定y标签。