这是一种方法。
s = df.groupby('drug')['pid'].apply(set)result = df[df['pid'].isin(s['B'])]# pid drug# 0 1 A# 1 1 B# 2 1 C# 6 3 B# 7 3 C# 8 3 D
说明
- 创建一个映射序列
s
作为一个单独的初始步骤,这样就无需为每个结果重新计算。 - 为了进行比较,请使用
set
O(1)复杂度查找。
欢迎分享,转载请注明来源:内存溢出
这是一种方法。
s = df.groupby('drug')['pid'].apply(set)result = df[df['pid'].isin(s['B'])]# pid drug# 0 1 A# 1 1 B# 2 1 C# 6 3 B# 7 3 C# 8 3 D
说明
s作为一个单独的初始步骤,这样就无需为每个结果重新计算。
setO(1)复杂度查找。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)