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

Python Pandas groupby将复合体应用于其他列,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,这里我有一个df: value indicator 0 AABB 55 1 ABBCC 55 2 ACSCC 15 3 ACCBB 15 4 ACSSS 15 我希望按指标分组,并计算字符串之间的差异有多大。方法是计算其他行中存在的字母数 例如,对于indicator=55,ABB3个字母共存,第0行为3/4,第1行为3/5。我需要按指标分组,取值max(3/4,3/5) 类似于indicator=15,但这次我们需要比较3次,第2行与第3

这里我有一个df:

    value   indicator
0   AABB    55
1   ABBCC   55
2   ACSCC   15
3   ACCBB   15
4   ACSSS   15
我希望按指标分组,并计算字符串之间的差异有多大。方法是计算其他行中存在的字母数

例如,对于
indicator=55
ABB
3个字母共存,第0行为3/4,第1行为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

只是确认一下,字符串相交(共存)只在两个字符串之间起作用?不是同一个指示符的所有字符串?然后为每个指示符返回共享字符比例最高的字符串的共享字符比例?@DavidW以上面的示例为例,指示符=15,3个字符串的交集很重要。最后一个问题是肯定的,比例最高。@david我知道fuzzywuzzy可以做得很好,现在唯一的问题是如何在indicator=15之间进行排列正确,但只是确认三个字符串的联合交集是无关的。