Pandas - groupby和只有4列相关

时间:2017-12-25 11:35:23

标签: pandas pandas-groupby

我有一个包含81列的数据框。 目前只有四个人对此感兴趣。

它们被称为'传输'(对象),'复合城市MPG'(int64),'复合高速公路MPG'(int64)和'复合组合MPG'(int64)。

我希望每种类型的传输MPG的平均值。

这就是我的尝试。

data.groupby(['Transmission'], sort=True).mean()

如何修复代码,以便只显示相关列的平均值('Composite City MPG'(int64),'Composite Highway MPG'(int64)和'Composite Combined MPG'(int64))?< / p>

groupby实际上是一种寻找每种传输类型的平均MPG的好方法吗?

2 个答案:

答案 0 :(得分:0)

data.groupby('Transmission' ,\
'Composite City MPG', \
'Composite Highway MPG',\
'Composite Combined MPG')['MPG'].mean()

答案 1 :(得分:0)

在你的帮助下我改变它以获得我需要的结果。 MPG位于3列“复合城市”MPG&#39; (int64),&#39;复合公路MPG&#39; (int64)和&#39;复合组合MPG&#39; (int64类型)。

我用过:

data.groupby('Transmission', sort=True)[['Composite City MPG','Composite Highway MPG','Composite Combined MPG']].mean()

有没有办法使用.isnull()和.notnull()只显示平均值为null或非null的行? 我尝试使用apply方法,但结果不是我想要的结果:

.apply(lambda x: x.notnull())