我有这个DataFrame,我知道我应该使用replace方法,但我没有使用哪种方法。我希望列中的所有值都是以百万欧元为单位的浮动值,所以我会删除"€"one_answers"M",如果一个值的值是"K"而不是"M"的话,则删除K并使数字小1000倍。谢谢
https://i.stack.imgur.com/lqbvU.png
创建一个自定义函数,将字符串值转换为数字:
mappings = {'M': 1, 'K': 0.001}
def to_numeric(sr):
df = sr.str.extract('([^€KM]+)([KM]?)')
return df[0].astype(float) * df[1].map(mappings).astype(float)
# Convert your columns
df['Value'] = to_numeric(df['Value'])
df['Wage'] = to_numeric(df['Wage'])
df['Release Clause'] = to_numeric(df['Release Clause'])