如何用Pandas将带特殊符号的金额数据转换为整数?
用Pandas清理印度卢比金额数据并转整数
先构造包含目标数据的DataFrame:
import pandas as pd data = {'salary': ['₹8,36,874/yr', '₹6,69,578/yr', '₹9,44,110/yr']} df = pd.DataFrame(data)
方法一:分步替换清理
直接针对要移除的字符逐一处理,逻辑直观:
# 依次移除₹符号、逗号、/yr后缀,再转为整数 df['cleaned_salary'] = df['salary'] \ .str.replace('₹', '', regex=False) \ .str.replace(',', '', regex=False) \ .str.replace('/yr', '', regex=False) \ .astype(int)
方法二:正则提取高效处理
用正则提取出金额的数字部分(包含逗号),再清理逗号转整数,适配性更强:
# 提取金额中的数字和逗号组合,移除逗号后转整数 df['cleaned_salary'] = df['salary'] \ .str.extract(r'([\d,]+)') \ .str.replace(',', '', regex=False) \ .astype(int)
处理后运行print(df)就能得到干净的整数列:
salary cleaned_salary 0 ₹8,36,874/yr 836874 1 ₹6,69,578/yr 669578 2 ₹9,44,110/yr 944110
内容的提问来源于stack exchange,提问作者MKO
相关产品推荐
相关产品推荐

