代码之家  ›  专栏  ›  技术社区  ›  Jase

在有字符串的情况下查找平均值

  •  0
  • Jase  · 技术社区  · 2 年前

    我有一个20*5的数据表,我想找到其中一列的平均值,这是价格列。我知道我必须用这个方法来求平均值

    mean= df["price"].mean()
    

    问题是,在我的数据文件中,价格不是整数,而是字符串,它们都是以这种格式e.x(2000美元,而不仅仅是2000美元)编写的。如何从数字中删除这些货币,然后找到数字的平均值?(货币都一样)

    2 回复  |  直到 2 年前
        1
  •  0
  •   sidshrivastav    2 年前

    首先尝试将数据标准化,

    df["price"] = df["price"].apply(lambda x: float(x.replace("dollars", "")))
    

    我假设价格存储在5000美元左右,如果您有任何其他异常,可以用空值替换。

    或者,如果你不想更新这个列条目,你可以创建一个新的列,并用它来表示,

    df["new_price"] = df["price"].apply(lambda x: float(x.replace("dollars", "")))
    
        2
  •  0
  •   tyson.wu    2 年前
    df['price'].str.replace('dollars', '').astype('float').mean()