将复数应用于其他列

2024-10-04 05:24:35 发布

您现在位置:Python中文网/ 问答频道 /正文

这里有一个df:

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

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

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

indicator=15类似,但这次,我们需要比较3次,第2行到第3行,第2行到第4行,第3行到第4行

第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

Tags: 方法字符串dfvalue字母差异maxindicator