我有一个看起来像104.5的数据框对象列,并且总是有一个后缀,如K,B或M代表Kilo,Billions或Millions。例如104.5B。
我想做的是检查后缀并将值乘以10 ^ 3,10 ^ 6或10 ^ 9' inplace'。
我找到了一些关于标记新列的解释,但没有像现在的乘法那样。我怎么做聪明的?
答案 0 :(得分:3)
您可以使用字典和地图,如下所示:
import pandas as pd
df = pd.DataFrame({'Values': ['104.5B', '102.4K', '951M']})
multipliers = {'B': 1,
'K': 1000,
'M': 1000000}
df['Values'] = df['Values'].str[:-1].astype(float) * df['Values'].str[-1].map(multipliers)
print(df)
打印:
Values
0 104.5
1 102400.0
2 951000000.0