Как извлечь все значения non-nan в этом кадре данных по количеству значений non-nan для каждой строки - PullRequest
0 голосов
/ 31 мая 2019

Я хочу извлечь значения non-nan в каждой строке кадра данных.
Я получаю кадр данных с числом строк более 3000 следующим образом:

# this is just an example, not whole data
  l1     l2     l3
0 2      nan    nan
1 1      nan    nan
2 3      4      nan
3 1      2      4
4 3      2      nan
5 4      1      2
6 5      nan    nan

И я хочу извлечьвсе значения non-nan в этом фрейме данных по количеству значений non-nan для каждой строки выглядят следующим образом

one_non_nan_value_counts
    l1
0   2
1   1
2   5

two_non_nan_value_counts
    l1    l2    
0   3     4
1   3     2

three_non_nan_value_counts
    l1    l2    l3
0   1     2     4
1   4     1     2

Может ли что-нибудь мне помочь?
Заранее спасибо.

1 Ответ

2 голосов
/ 31 мая 2019

IIUC:

for x,y in df.groupby(df.isna().sum(axis=1)):
    print('nan', x)
    print(y.dropna(axis=1))

вывод:

nan 0
   l1   l2   l3
3   1  2.0  4.0
5   4  1.0  2.0
nan 1
   l1   l2
2   3  4.0
4   3  2.0
nan 2
   l1
0   2
1   1
6   5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...