使用Pandas高效去除DataFrame中完全重复的行
在Pandas数据处理中,去除重复行是常见操作。本文介绍如何利用drop_duplicates()函数高效删除DataFrame中完全相同的行,即使重复次数超过两次。
示例DataFrame:
index id value 1 1 2 1 1 2 2 2 3 3 3 4
目标:去除重复行,保留唯一行。
预期结果:
index id value 2 2 3 3 3 4
drop_duplicates()函数实现:关键在于keep参数。将keep设置为False,即可删除所有重复行,而非仅保留第一行或最后一行。
对于仅包含'id'和'value'两列的DataFrame,直接使用:
df.drop_duplicates(keep=False, inplace=True)
inplace=True直接修改原DataFrame,否则返回新的DataFrame。
如果DataFrame包含更多列,但仅需根据'id'和'value'列判断重复,则使用subset参数指定列:
df.drop_duplicates(subset=['id', 'value'], keep=False, inplace=True)
subset参数精确控制参与重复行判断的列,避免误删数据。keep=False确保所有重复行都被删除。 即使DataFrame包含其他列,也能准确去除完全相同的行。