Как использовать кросс-таблицу для нескольких столбцов? - PullRequest
1 голос
/ 24 марта 2019

Мне нужна помощь с использованием кросс-таблицы на df ниже.

    a       b       c
-------------------------
|   a   |  None |   c   |
|   a   |   b   |  None |
|  None |   b   |   c   |
|   a   |  None |  None |
|  None |  None |  None |

Я хочу получить строки, в которых указано больше, чем буква (a & b, a & c, b & c), т.е. строки 1-3.Я считаю, что самый простой способ сделать это через кросс-таблицу (я знаю, я получу счетчик, но могу ли я также просмотреть строки с помощью этого метода?).Я хочу избежать написания длинного оператора 'или', чтобы добиться этого.

Желаемый результат:

    a       b       c
-------------------------
|   a   |  None |   c   |
|   a   |   b   |  None |
|  None |   b   |   c   |

1 Ответ

1 голос
/ 24 марта 2019

Вы не ищете кросс-таблицу, просто проверьте количество ненулевых значений, используя notnull:

df[df.notnull().sum(1).gt(1)]

     a    b    c
0    a  NaN    c
1    a    b  NaN
2  NaN    b    c

Или вы можете использовать dropna:

t = 2
df.dropna(thresh=df.shape[1] - t + 1)

     a    b    c
0    a  NaN    c
1    a    b  NaN
2  NaN    b    c
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...