python - 熊猫找到重复的数据
问题描述
我有这样的数据,我想得到的结果是有序的b
并且c
是重复的。我怎么解决这个问题?(订单和项目是多索引)
Order Item A
a 1 'aaa'
2 'bb'
b 1 'aaa'
2 'bb'
3 'c'
C 1 'aaa'
2 'bb'
3 'c'
解决方案
很简单。您应该从 groupby 对象转换为 Dataframe,然后使用方法。
df = df.reset_index()
df.drop_duplicates(keep = 'first', inplace = True)
如果您需要按特定列过滤,那么
df.drop_duplicates(subset = [col1, col2, ...], keep = 'first', inplace = True)
编辑
要保持重复:
df = df.groupby('Order')['A'].apply(list).reset_index()
df = df[df.duplicated(subset = ['A'], keep = False)]
如果您只需要订单列表
list_orders = df['Order'].unique()
推荐阅读
- python - Python3 - 缩短 Ubuntu 中主目录的路径
- docker - 来自 env 的动态 docker-compose 配置
- freepascal - 尝试使用 checkOptions 处理 --options 仅在 --option=value 时有效,而不是在 --option value 时有效
- scala - 具有冲突成员的特征混合:为什么我的代码可以成功编译?
- javascript - 获取 Discord 服务器中当前用户的角色
- python - 使用 F 值作为 dict 键对 django 进行排序
- c++ - 如何确保 VSCode 禁用 * 、 % 和 / 的间距
- php - 未找到列:1054“字段列表”中的未知列“徽标”
- amazon-web-services - DDBLockClient - 非领导者在第一次失败后不会竞争领导者
- regex - 正则表达式匹配“
%% "