You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas鸟类数据处理:提取列唯一值及首个唯一项需求

嘿,我来帮你搞定这个鸟类数据的去重问题!刚好我之前处理过类似的重复记录场景,用pandas的内置方法就能完美满足你的需求——每个学名只保留第一次出现的观测记录。

具体解决步骤

首先,你已经成功提取了目标列,接下来只需要对df2做一步去重操作就行:

# 你已经完成的列提取步骤
df2 = df[["SCIENTIFIC NAME", "OBSERVATION COUNT"]]

# 核心去重代码:按学名去重,保留首个出现的记录
df_unique_birds = df2.drop_duplicates(subset="SCIENTIFIC NAME", keep="first")

# 可选操作:重置索引(让结果的索引从0开始连续,更整洁)
df_unique_birds = df_unique_birds.reset_index(drop=True)

代码参数解释

  • subset="SCIENTIFIC NAME":指定只依据这个列的值来判断是否为重复行,其他列的内容不影响去重逻辑
  • keep="first":明确告诉pandas,当遇到同一学名的多条记录时,只保留第一次出现的那一行,其余重复行直接丢弃

验证结果(可选)

如果你想确认去重是否成功,可以用这两行代码检查:

# 检查去重后的唯一学名数量
print("去重后的唯一学名数量:", df_unique_birds["SCIENTIFIC NAME"].nunique())
# 检查去重后的总行数(应该和唯一学名数量一致)
print("去重后的总行数:", len(df_unique_birds))

这样处理后,你就能得到每个鸟类学名仅出现一次的数据集,且保留的是该学名第一次出现时对应的观测数量啦~

内容的提问来源于stack exchange,提问作者Karim Abou El Naga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:07:31