猿问

根据pandas df中的列对行进行分组

我在 Pandas 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分组单元格的布尔比较的结果(例如,对于K00002in OTU1,它将是False or False or True = True


有人可以给我一个提示吗?


谢谢。


慕容3067478
浏览 203回答 1
1回答

白猪掌柜的

使用GroupBy.any:df = df.groupby('OTU').any()print (df)      K00001  K00002  K00003  K00004  K00005  K00009  K00011  K00013OTU                                                                 OTU1    True    True   False    True   False   False    True   FalseOTU2    True   False   False    True    True   False    True   False
随时随地看视频慕课网APP

相关分类

Python
我要回答