pandas怎么去除数据中的重复值
·
pandas中主要通过drop_duplicates()方法来去除数据中的重复值。该方法提供了灵活的配置选项,可以根据不同场景进行定制化去重操作。
基本去重操作
默认情况下,drop_duplicates()会基于DataFrame中的所有列来判断重复行,并保留第一个出现的重复行。基本语法为:df.drop_duplicates(),其中df是待处理的DataFrame对象。
按指定列去重
通过subset参数可以指定需要判断重复的列名或列名列表。例如df.drop_duplicates(subset=['Name'])将只根据Name列进行去重。这在只需要关注特定列重复性的场景中非常实用。
保留策略控制
keep参数用于控制保留哪个重复值:'first'保留第一个出现的重复值(默认);'last'保留最后一个出现的重复值;False则删除所有重复值,一个都不保留。
实际操作示例
创建一个包含重复数据的DataFrame进行演示:
import pandas as pd
data = {
'Name': ['Tom', 'Nick', 'Tom', 'Charlie', 'Nick'],
'Age': [20, 21, 20, 19, 21],
'City': ['New York', 'Paris', 'New York', 'London', 'Paris']
}
df = pd.DataFrame(data)
# 基于所有列去重
df_unique_all = df.drop_duplicates()
# 基于Name列去重,保留最后一条记录
df_unique_name_last = df.drop_duplicates(subset=['Name'], keep='last')
实用场景分析
在实际应用中,可以根据不同需求选择去重策略:按订单号去重适合统计订单总数;按用户ID去重并保留最后一条记录可以获取用户最新订单信息;按多列组合去重(如支付方式和订单状态)有助于分析状态分布情况。
去重操作默认返回新的DataFrame,如需直接在原数据上修改,可设置inplace=True参数。
更多推荐
所有评论(0)