我在pandas中有一个列,其中包含字符串和数字 我想从字符串中删除数字。
A
11286011
11268163
C7DDA72897
C8ABC557
Abul
C80DAS577
C80DSS665
想要输出
A
C7DDA72897
C8ABC557
Abul
C80DAS577
C80DSS665
答案 0 :(得分:4)
In [52]: df
Out[52]:
A
0 11286011
1 11268163
2 C7DDA72897
3 C8ABC557
4 C80DAS577
5 C80DSS665
In [53]: df = pd.to_numeric(df.A, errors='coerce').dropna()
In [54]: df
Out[54]:
0 11286011.0
1 11268163.0
Name: A, dtype: float64
或使用RegEx:
In [59]: df.loc[~df.A.str.contains(r'\D+')]
Out[59]:
A
0 11286011
1 11268163
答案 1 :(得分:4)
您可以使用.str.isnumeric
在布尔切片中使用。
df[df.A.astype(str).str.isnumeric()]
A
0 11286011
1 11268163
正如@MaxU指出的那样,假设每个元素都已经是一个字符串,你可以将其限制为
df[df.A.str.isnumeric()]
A
0 11286011
1 11268163