将列中的值(例如:58K 或 5m)转换为熊猫中的 58000 或 500000 的函数



我们在数据框中有一列,其中一些值是 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

最新更新