计算一列中同一行内多个值的平均值

问题描述 投票:0回答:1

我有这个df,其中有几行在“百分比”列中具有多个值。有些行只有一个值,有些行则有2-3个值。我想计算具有多个值的行的平均值。

        location            Ethnic                          Percent
    0   Beaches-East York   English , Scottish , Canadian   19.7 , 18.9 , 24.2

由于只有4行具有多个值,所以我以非常业余的方式通过逐行计算并替换值来进行操作。如果我要计算50行,什么是更有效的方法?

我的业余尝试:

import statistics

print(statistics.mean([19.7,18.9,24.2]))
python numpy mean
1个回答
0
投票

您可以使用百分比列中的Apply功能来做到这一点

df["mean_percent"] = df.Percent.apply(lambda x: pd.np.mean([float(p) for p in  x.split(",")]))
print(df)
© www.soinside.com 2019 - 2024. All rights reserved.