Select 列值的平均值

Select mean of the values column wise

我有一个数据集,其中有 5 列。考虑以下数据库:-

City Vehicle col3 col4 col5
Jaipur Car ... ... ...
Jaipur Car ... ... ...
Jaipur Bike ... ... ...
Pune Car ... ... ...
Mumbai Bike ... ... ...
... ... ... ... ...

大约有 10000 条记录,其中城市有 5 个可能值,即斋浦尔、浦那、孟买、金奈、印多尔,而车辆可能有 3 个值汽车、自行车、Activa。

我在数据框上使用了pandas'分组函数

    df.groupby(['City', 'Vehicle'])['col3'].count()

它给了我如下信息:-

City Vehicle col3
Jaipur Car 50
Jaipur Bike 40
Jaipur Activa 60
Pune Car 80
Pune Bike 90
Pune Activa 30

但我想要如下答案:-

City Vehicle col3
Jaipur Car 0.33
Jaipur Bike 0.27
Jaipur Activa 0.4
Pune Car 0.40
Pune Bike 0.45
Pune Activa 0.15

我无法理解如何在 pandas 中编写此代码。

如果您要指望 col3(但仍分组在 City 下),请尝试以下操作:

df.groupby('City')['col3'].value_counts(normalize=True)

这将为您提供所需的相对部分(总和为 1)而不是实际计数。您也可以对其他列重复类似的操作。