Pandas groupby将复合体应用于其他列

时间:2019-12-17 03:08:15

标签: python pandas pandas-groupby

这里有一个df:

    value   indicator
0   AABB    55
1   ABBCC   55
2   ACSCC   15
3   ACCBB   15
4   ACSSS   15

我希望按指标分组,并计算字符串之间的差异有多大。方法是计算其他行中存在多少个字母。

例如,对于indicator=55ABB 3个字母共存,row0为3/4,row1为3/5。我需要按指标分组,取值max(3/4, 3/5)

类似于indicator=15,但是这次,我们需要比较3次,即row2与row3,row2与row4和row3与row4。

第2行到第3行:ACC共存,因此两行均为3/5

第2行到第4行:ACS共存,因此两行均为3/5

第3行到第4行:AC共存,因此两行均为2/5

然后我们需要获取max(3/5, 3/5, 2/5)

这对我来说太复杂了,有时指标会获得3个以上的相同值,因此排列可能会有些麻烦。

感谢所有想为我解决这个问题的人

所以决赛桌应该是这样的:

   value  indicator
0  0.75    55
3  0.6     15

0 个答案:

没有答案