pandas替换一列中的汉字为数字
Posted sxinfo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas替换一列中的汉字为数字相关的知识,希望对你有一定的参考价值。
表格的一列“总金额”应该全部为数字,但其中少数项出现汉字,应该将汉字替换为数字,才能进行后面的计算。
先定义一个函数:
def is_number(s): try: float(s) return True except ValueError: pass try: import unicodedata unicodedata.numeric(s) return True except (TypeError, ValueError): pass return False
再引用这个函数:
df[‘成交金额‘] = df[‘成交金额‘].map(lambda x: np.where(is_number(x), x, 1000)) #先替换 df[‘成交金额‘] = df[‘成交金额‘].apply(pd.to_numeric) #类型指定为数值型 df[‘成交金额‘] = round(df[‘成交金额‘]/100000000,2) #再计算
以上是关于pandas替换一列中的汉字为数字的主要内容,如果未能解决你的问题,请参考以下文章
Python Pandas根据多个其他列中的条件替换一列中的值[重复]