группировать строки по столбцу в pandas df (заполнять только логическими значениями) - PullRequest
0 голосов
/ 14 ноября 2018

Я борюсь с проблемой на моем панде DataFrame. Я думаю, мне следует использовать метод groupby, но я не могу понять это правильно.

мои данные выглядят так (но с ~ 200 строками и 5000 столбцами):

            K00001  K00002  K00003  K00004  K00005  K00009  K00011  K00013   OTU
Root100     True    False   False   True    False   False   True    False    OTU1
Root102     True    False   False   True    False   False   True    False    OTU1
Root105     True    True    False   True    False   False   True    False    OTU1
Root107     True    False   False   True    False   False   True    False    OTU2
Root11      True    False   False   True    True    False   True    False    OTU2

Я хотел бы сгруппировать строки в соответствии с последним столбцом столбца 'OTU', чтобы получить:

        K00001  K00002  K00003  K00004  K00005  K00009  K00011  K00013   
OTU1    True    True    False   True    False   False   True    False    
OTU2    True    False   False   True    True    False   True    False

Логические значения каждой ячейки, являющиеся результатом or логических сравнений каждой сгруппированной ячейки (например, для K00002 в OTU1 это будет False or False or True = True

Может кто-нибудь дать мне подсказку?

Спасибо.

1 Ответ

0 голосов
/ 14 ноября 2018

Использование GroupBy.any:

df = df.groupby('OTU').any()
print (df)
      K00001  K00002  K00003  K00004  K00005  K00009  K00011  K00013
OTU                                                                 
OTU1    True    True   False    True   False   False    True   False
OTU2    True   False   False    True    True   False    True   False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...