PROT PEP SD
1 XXX 4,54
1 XXX 5,56
1 XXY 4,67
1 XXZ 5,67
1 XXY 5,67
1 XXX 5,68
2 XXW 4,64
2 XXZ 4,54
2 XXW 5,56
2 XXX 4,67
2 XXX 5,67
我需要找出一种按prot和pep过滤数据的方法,但在prot的pep超过1的情况下只保留pep->;然后再次过滤,以便每个pep值只保留2个SD最高的值(并将这两个值相加/除以2)
PROT1的输出:
PROT PEP SD
1 XXX 5.56+5.68 /2
XXY 4.67 + 5.67 /2
我想如果我知道在lambda x之后放什么的话,可能就是这样的:所以它需要三个顶值,现在它给了我一个顶值索引。你知道吗
counts = (df6.groupby(['PROT','PEP])['SD']
.apply(lambda x: x.idxmax()))
我很想一次就做到:
然后扔下NaN。你知道吗
使用groupby筛选器:
你可以在第二次通过时使用nlargest(但是这会变得很混乱)。你知道吗
我认为我们可以同意,最重要的方法更清晰(更有效!)。你知道吗
相关问题 更多 >
编程相关推荐