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

时间:2019-09-30 08:51:30

标签: python pandas dataframe mean

我有这个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]))

1 个答案:

答案 0 :(得分:0)

您可以在百分比列中使用Apply功能来实现

df["mean_percent"] = df.Percent.apply(lambda x: pd.np.mean([float(p) for p in  x.split(",")]))
print(df)