2015-07-30 3 views
1

у меня есть файл, который выглядит какКак уронить строки, которые имеют элементы, равные определенное значение

1618246950 0.000 0.000 0.003 0.000 0.000 0.000 0 0 -1 -1 -1 -1 -1 -1 -1 -1 9 0 
1618387251 0.000 0.000 0.000 0.000 0.021 0.012 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 
1618436689 0.000 0.000 0.000 0.000 0.000 0.000 1 0 -1 -1 -1 -1 -1 -1 -1 -1 9 0 
1618494414 0.005 0.002 0.001 0.000 0.002 0.005 0 0 -1 -1 -1 -1 -1 -1 -1 -1 1 0 
1618499491 0.000 0.000 0.001 0.000 0.000 0.000 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 

Я хочу отказаться от строки, которая содержит элементы, равный минус один.

Следующий код может отбрасывать строки, если столбцы 1 равны -1, но в каждом столбце может быть -1.

df=df[df[1] != -1.0 ] 

или

for i in range(1,15) 
    df=df[df[i] != -1.0 ] 

15 является индексом последнего столбца.

так есть ли способ панда-стиля?

ответ

2

Как об этом:

df=df[-df.applymap(lambda x: x==-1).any(axis=1)] 
2

К сожалению, все данные выборки содержит строки с элементами, равными минус один, так что вы должны получить обратно пустой DataFrame.

Однако это, как я считаю, вы должны идти об этой цели:

df_new = df[df.apply(lambda x: x != -1, axis=1).all(axis=1)] 
Смежные вопросы