Ну, как я спросил в комментарии, каково ваше определение числовое.Если мы следуем за isnumeric
питона split()
, мы получаем следующее:
import pandas as pd
импорт панд в виде отпечатков pd
df = pd.DataFrame({
'col1': ['ABC', 'ABC 1.3.2', 'DEF', 'ABC12', '2.2.3', 'ABC 12 1', 'GHI']
})
m1 = df['col1'].apply(lambda x: not any(i.isnumeric() for i in x.split()))
m2 = df['col1'].str.isalpha()
m3 = df['col1'].apply(lambda x: not any(i.isdigit() for i in x))
m4 = ~df['col1'].str.contains(r'[0-9]')
print(df.assign(hasnonumeric=m1,isalhpa=m2, isdigit=m3, contains=m4))
# Opting for hasnonumeric
df = df[m1]
:
col1 hasnonumeric isalhpa isdigit contains
0 ABC True True True True
1 ABC 1.3.2 True False False False
2 DEF True True True True
3 ABC12 True False False False
4 2.2.3 True False False False
5 ABC 12 1 False False False False
6 GHI True True True True