столбец длинного списка условного фильтра данных - PullRequest
0 голосов
/ 30 мая 2018
>>> df
     c1    c2 P1
0  10.0  20.0 1
1   NaN  40.0 2
2  50.0   NaN 3
3   NaN   NaN 4
4  60.0  70.0 5
5   NaN   NaN 6
>>>
>>>
>>> cols = ["c1" , "c2"]
>>>
>>> df[df[cols[0]].notnull() | df[cols[1]].notnull()]
     c1    c2 P1
0  10.0  20.0 1
1   NaN  40.0 2
2  50.0   NaN 3
4  60.0  70.0 5

, как показано выше, я выполняю логику, в которой я хочу сохранить строку, которая имеет по крайней мере одно значение не-Nan.

Проблема в том, что в списке может быть столько столбцов, сколько может быть 100 или более.Итак, как я могу выполнить эту логику питонским способом?

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Это должно работать:

df.dropna(subset=cols, how='all', inplace = True)

, где cols - это ваше:

cols = ["c1" , "c2"]
0 голосов
/ 30 мая 2018

попробуйте,

df=df.dropna(subset=[col],how='all')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...