Лучше всего использовать встроенные панды pandas.Series.str.match
Документы .Он автоматически «пропускает» значения int, переводя их все в строку.
import pandas as pd
df = pd.DataFrame(data={
'Col1': [...],
'Col2': [...]}
)
df['Col1'].str.match("*pattern*")
Вы можете настроить свой шаблон, чтобы убедиться, что ни одна из строк int не соответствует.
>>> import pandas as pd
>>> df = pd.DataFrame(data={
'Col1': ["a string", "a second string", 123, 456, "another string"],
'Col2': [1, 2, 3, 4, 5]}
)
>>> df['Col1'].str.match("[^0-9]+")
0 True
1 True
2 NaN
3 NaN
4 True
Name: Col1, dtype: object