Python 删除非数字字符

Python 删除非数字字符,python,fill,remove,Python,Fill,Remove,替换得到Nan值的非数字字符,如何删除非数字字符并用0填充缺少的值 df['Mas\u Vnr\u Area']=df['Mas\u Vnr\u Area'].str.replace(r'\D+','').fillna(0).astype(float)尝试以下代码: df['Mas_Vnr_Area'][df['Mas_Vnr_Area'].map(lambda x: not str(x).isnumeric())] = 0 该代码将Mas\u Vnr\u区域列中的每个值映射为一个字符串,然后

替换得到Nan值的非数字字符,如何删除非数字字符并用0填充缺少的值

df['Mas\u Vnr\u Area']=df['Mas\u Vnr\u Area'].str.replace(r'\D+','').fillna(0).astype(float)
尝试以下代码:

df['Mas_Vnr_Area'][df['Mas_Vnr_Area'].map(lambda x: not str(x).isnumeric())] = 0

该代码将
Mas\u Vnr\u区域
列中的每个值映射为一个字符串,然后通过isnumeric方法检查字符串是否为数字,最后获取一片假值并将
Mas\u Vnr\u区域
值替换为0

您可以使用列表理解快速筛选或有条件地替换python中的项,即:

df['Mas\u Vnr\u Area']=''。加入(如果c.isnumeric()则为c,否则为df['Mas\u Vnr\u Area']中的“0”)