Python Pandas groupby将复合体应用于其他列
这里我有一个df: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
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之间进行排列正确,但只是确认三个字符串的联合交集是无关的。