从列中删除字母
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
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