Ответ 1
Вы можете применить функцию, которая проверит по строкам ваш DataFrame
для наличия строк, например, скажем, что df
является вашим DataFrame
rows_with_strings = df.apply(
lambda row :
any([ isinstance(e, basestring) for e in row ])
, axis=1)
Это создаст маску для вашего DataFrame, указывающую, какие строки содержат по крайней мере одну строку. Таким образом, вы можете выбирать строки без строк через противоположную маску
df_with_no_strings = df[~rows_with_strings]
.
Пример:
a = [[1,2],['a',2], [3,4], [7,'d']]
df = pd.DataFrame(a,columns = ['a','b'])
df
a b
0 1 2
1 a 2
2 3 4
3 7 d
select = df.apply(lambda r : any([isinstance(e, basestring) for e in r ]),axis=1)
df[~select]
a b
0 1 2
2 3 4