我在熊猫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
< / p>
有人可以给我一个提示吗?
谢谢。
答案 0 :(得分:2)
使用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