>我有一个这样的数据帧:
userid itemid timestamp
1 1 50
1 2 50
1 3 50
1 4 60
2 1 40
2 2 50
我想删除用户 ID 出现超过 2 次的所有行并获取一个新数据帧,如下所示。有人可以帮助我吗?谢谢。
userid itemid timestamp
2 1 40
2 2 50
您可以使用
pd.Series.value_counts
并计算按条件过滤的userid
数组。然后使用它来筛选原始数据帧。
c = df['userid'].value_counts()
idx = c[c > 2].index
res = df[~df['userid'].isin(idx)]
print(res)
userid itemid timestamp
4 2 1 40
5 2 2 50