我正在尝试查找属性(列)值的子集(任何长度),它们在给定数据集中是唯一的。据我所知,找到这些的最有效方法是计算多个(许多)groupby 活动,计算 pandas 中相应的组大小。由于循环可能变得非常大,那么在同一数据集上加速那些按任务分组的最有效方法是什么?
groups = [["a","b"],["a","b","c"],["c","a"]] # this can be really large
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['a', 'b', 'c'])
for g in groups:
r = df.groupby(g, sort=False).size().reset_index().rename(columns={0:'count'})
if r.loc[r['count']==1]['count'].count() > 0:
# do something