我有一个数据框,其中 '%' 列适用于所有列,而一列的最后一行为 '<1%'。
Out[277]:
Year Conventional HMO PPO POS HDHP/SO
0 1988 73% 16% 11%
1 1993 46% 21% 26% 7%
2 1996 27% 31% 28% 14%
3 1999 10% 28% 39% 24%
4 2000 8% 29% 42% 21% 6%
. .
. .
. .
22 2018 <1% 16% 49% 29%
我想在列中删除所有特殊字符。我已经尝试过:
df1.columns= df1.columns.str.replace('\w,'')
并且
df.columns= df.columns.str.replace('[^a-zA-Z0-9]', '')
我在这两个方面都成功地去掉了“%”符号,但没有去掉“<”符号。进行如下操作:
df1['Conventional']= df1['Conventional'].map(lambda x: ''.join([i for i in x if i.isdigit()]))
抛出错误:
类型错误:'float'对象不可迭代
理想情况下,我希望用一行代码从整个数据框中删除所有特殊字符。
df = df.replace([r'[<%]', r'^\s*$'], ['',np.nan], regex=True)
这段代码是如何工作的? - jezraelNaN
。 - jezrael