Groupby在python中重复

Groupby在python中重复,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个orderID和ProductID的数据集 Order_ID, Item_ID 101,121 101,121 101,223 101,234 我想检查一下哪个项目在任何特定的顺序中出现了不止一次 输出> Order_ID, Item_ID, freq 101,121,2 在python中,哪种方法最有效?首先使用or,然后在较大的数据帧中使用or-更快: df1 = df.groupby(['Order_ID','Item_ID']).size().reset_index(name

我有一个orderID和ProductID的数据集

Order_ID, Item_ID
101,121
101,121
101,223
101,234
我想检查一下哪个项目在任何特定的顺序中出现了不止一次

输出>

Order_ID, Item_ID, freq
101,121,2
在python中,哪种方法最有效?

首先使用or,然后在较大的
数据帧中使用or-更快:

df1 = df.groupby(['Order_ID','Item_ID']).size().reset_index(name='freq').query('freq > 1')
备选方案:

df1=df.groupby('Order_ID')['Item_ID'].value_counts().reset_index(name='freq').query('freq>1')
或:


df1 = df.groupby(['Order_ID','Item_ID']).size().reset_index(name='freq')
df1 = df1[df1['freq'] > 1]
print (df1)
   Order_ID  Item_ID  freq
0       101      121     2