我们在数据框中有一列,其中一些值是 5m 或 5k,那么我想转换这些值,例如 5000 和 5000000
def convert(x):
col_number = 0
if 'K' in x:
col_number = int(x.replace('K', '')) * 1000
elif 'k' in x:
col_number = int(x.replace('k', '')) * 1000
if 'M' in x:
col_number = int(x.replace('M', '')) * 1000000
elif 'm' in x:
col_number = int(x.replace('m', '')) * 1000000
else:
col_number = int(x)
return int(col_number)
你可以通过应用来做到这一点。
下面是一个运行示例:
import pandas as pd
x = {"number":["1000k","1000K","1M","1m"]}
df = pd.DataFrame.from_dict(x)
def convert(number):
number = number.lower()
if "k" in number:
return int(number.replace("k",""))*1000
elif "m" in number:
return int(number.replace("m","")) * 1000000
return int(number)
df["converted"] = df["number"].apply(convert)
print(df)
输出:
number converted
0 1000k 1000000
1 1000K 1000000
2 1M 1000000
3 1m 1000000