Чтобы получить доступ к строковым методам в серии, вам необходимо сделать это через атрибут .str
Series
:
df1.col1.str.isdigit()
См. Series.str.isdigit()
для документации.
Вы можете использовать это как логический индекс и напрямую назначать выбранным строкам:
df1.col1[df1.col1.str.isdigit()] = ''
См. Работа с текстовыми данными .
Не используйте df1.col1.str.isdigit()
в операторе if
, так как логический массив не является истинным или ложным сам по себе, это массив логических значений и поэтому выдает ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
, если используется в логическом контексте.
Демо-версия:
>>> import pandas as pd
>>> data = ['123567','1547892','2547879','ABC','3D']
>>> df1 = pd.DataFrame(data)
>>> df1.columns = ['col1']
>>> df1
col1
0 123567
1 1547892
2 2547879
3 ABC
4 3D
>>> df1.col1[df1.col1.str.isdigit()] = ''
>>> df1
col1
0
1
2
3 ABC
4 3D