从列中删除字母

Removing alphabets from column

col A
28
45
67
A
67
C
D
78
89

我想删除包含字符的行(即)A、B、C...(可以是 A-Z 中的任何一个) 我可以使用以下代码删除 A、B、C

new_df = df[(df['colA'] != 'A') & (df['colA'] != 'B') & (df['colA'] != 'C')] 

我觉得这是硬编码的,因为我知道该列包含 A、B、C。其他一些列可能包含 F、G 或其他内容。 从列中删除字符的任何更好的方法。

注意:- colA 是数据帧中的对象类型

输出应为仅包含数字的列,数据类型应从对象更改为整数

尝试使用 isalpha 没有数字它将 return True 然后我们得到 ~

df = df[~df.colA.str.isalpha()]
Out[953]: 
  colA
0   28
1   45
2   67
4   67
7   78
8   89

更新方式二

df = df[pd.to_numeric(df['col A'],errors='coerce').notnull()]
Out[73]: 
  colA
0   28
1   45
2   67
4   67
7   78
8   89