【问题标题】:Calculate the mean of several values within the same row in a column计算列中同一行内多个值的平均值
【发布时间】:2020-01-29 13:04:58
【问题描述】:

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

【问题讨论】:

  • 您是从 excel 文件中读取这些数据吗?
  • @Leosky No. 数据来自网站。

标签: python pandas dataframe mean


【解决方案1】:

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

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

【讨论】:

  • 感谢这项工作!对于那些想要圆它的人df["mean_percent"] = df.Percent.apply(lambda x: pd.np.mean([float(p) for p in x.split(",")]).round())
猜你喜欢
  • 2017-02-06
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 2019-04-03
  • 2015-09-05
  • 1970-01-01
  • 1970-01-01
  • 2014-05-30
相关资源
最近更新 更多