对于这样的数据帧:
mpg yr name
0 18 70 chevrolet malibu
1 15 70 buick skylark
2 18 70 ford torino
3 16 70 chevrolet el camino
4 17 71 chevrolet chevelle
我可以像这样得到平均每加仑汽油:
^{pr2}$我试着用以下方法来计算雪佛兰的年平均每加仑汽油:
auto.groupby(['yr', auto['name'].str.contains('chevrolet')])['mpg'].mean()
但是,它会创建一个额外的True/False布尔列,如这样,其中False是非Chevrolet,True是Chevrolet:
yr name
70 False 16.5
True 17.0
71 False NaN
True 17.0
我要找的是:
yr mpg
x y
你能不能请你A)解释一下为什么我的尝试没有成功,B)帮助纠正我的错误,并解释为什么需要这样做。 谢谢您!在
我们应该在
groupby
之前过滤您的方法用[True,False]创建另一个groupby键,然后pandas将按它和列
yr
分组编辑:
你可以认为这就是你的数据帧的样子
^{pr2}$相关问题 更多 >
编程相关推荐