使用python从列中删除alpha和特殊字符

使用python从列中删除alpha和特殊字符,python,pandas,Python,Pandas,我试图从列值中删除字母字符和特殊字符。当尝试删除alpha字符时,它会将NaN作为输出 输入数据: col2 2565.0 23899 876.44 1765.7 3,253.0CA 9876.9B col2 2565.0 23899 876.44 1765.7 3253.0 9876.9 输出数据: col2 2565.0 23899 876.44 1765.7 3,253.0CA 9876.9B col2 2565

我试图从列值中删除字母字符和特殊字符。当尝试删除alpha字符时,它会将NaN作为输出

输入数据:

col2
2565.0
23899
876.44
1765.7
3,253.0CA
9876.9B
    col2
    2565.0
    23899
    876.44
    1765.7
    3253.0
    9876.9
输出数据:

col2
2565.0
23899
876.44
1765.7
3,253.0CA
9876.9B
    col2
    2565.0
    23899
    876.44
    1765.7
    3253.0
    9876.9
我一直在使用的代码:

df['col2'] = df['col2'].str.replace(r"[a-zA-Z]",'')
df['col2']=df['col2'].fillna('').str.replace(',',"").astype(float) 
请建议如何解决此问题。

使用:

使用:

使用与数字和点不匹配的和正则表达式

输出

       col2
0   2565.00
1  23899.00
2    876.44
3   1765.70
4   3253.00
5   9876.90
使用与数字和点不匹配的和正则表达式

输出

       col2
0   2565.00
1  23899.00
2    876.44
3   1765.70
4   3253.00
5   9876.90

一个简单的子正则表达式就可以做到这一点。你能发布你尝试过的东西吗?一个简单的子正则表达式就可以了。你能把你试过的贴出来吗?