UFC数据集DataFrame去重:移除重复拳手记录,仅保留最新赛事条目
解决UFC拳手重复记录清洗问题的方案
既然你的数据集已经是按赛事时间从最新到最早倒序排列的,那处理起来就很直接了——我们只需要保留每个拳手第一次出现的记录(也就是最新赛事的条目),移除后续的重复项就行。下面是具体的实现步骤,用Pandas来完成:
核心思路
因为数据是倒序排列的,每个拳手的第一条记录就是他们最近一次参赛的信息。所以我们可以利用Pandas的drop_duplicates方法,指定按fighter字段去重,并且保留第一个出现的条目。
代码实现
假设你的数据已经加载到了一个Pandas DataFrame中(比如从CSV文件读取):
import pandas as pd # 读取数据集(替换成你的文件路径或数据加载方式) ufc_df = pd.read_csv('ufc_events.csv') # 执行去重:保留每个拳手的第一条(最新赛事)记录 cleaned_ufc_df = ufc_df.drop_duplicates(subset='fighter', keep='first')
效果验证
拿你给出的示例数据来说,执行完上面的代码后:
mcgregor的第0行(年龄31、战绩14胜5负)会被保留- 第3行的旧记录(年龄30、战绩14胜4负)会被自动移除
- 其他无重复的拳手记录都会完整保留
额外说明
如果你的数据里存在重名的拳手(比如两个不同的选手都叫"mcgregor"),那可能需要结合其他唯一标识字段(比如选手ID)来进行去重。但根据你的问题描述,我们默认重复的fighter值都是同一个选手的不同赛事记录,所以上面的方案完全适用。
内容的提问来源于stack exchange,提问作者Matt Stokes
相关产品推荐
相关产品推荐

