我相信需要
length
具有
set.intersection
在列表理解中:
df['C'] = [len(set(a).intersection(b)) for a, b in zip(df.A, df.B)]
或:
df['C'] = [len(set(a) & set(b)) for a, b in zip(df.A, df.B)]
样品
:
df = pd.DataFrame(data={'A':[['car', 'passenger', 'truck'], ['car', 'truck']],
'B':[['car', 'house', 'flower', 'truck'], ['car', 'house']]})
print (df)
A B
0 [car, passenger, truck] [car, house, flower, truck]
1 [car, truck] [car, house]
df['C'] = [len(set(a).intersection(b)) for a, b in zip(df.A, df.B)]
print (df)
A B C
0 [car, passenger, truck] [car, house, flower, truck] 2
1 [car, truck] [car, house] 1