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

如何在Pandas DataFrame中筛选col2为空值时col1的唯一值

解决Pandas中提取col2为空时col1的唯一值问题

没问题,我来帮你搞定这个需求!你想要的是找出DataFrame里所有col2列为空字符串时,对应的col1列的唯一值,对吧?

先看你的示例数据,这里的“空值”其实是空字符串'',不是Pandas默认的NaN,所以我们的筛选条件要对应上。直接看解决方案代码:

import pandas as pd

d = {'col1': ['A', 'B', 'A', 'A', 'E', 'G', 'G'], 'col2': [3, 4, '', '', 7, 9, '']}
df = pd.DataFrame(data=d)

# 筛选col2为空字符串的行,提取col1并获取唯一值
target_values = df[df['col2'] == '']['col1'].unique()

print(target_values)
# 输出结果: ['A' 'G']

代码解释:

  • df['col2'] == '':精准定位所有col2列值为空字符串的行;
  • 后面的['col1']提取这些行的col1列数据;
  • 最后用unique()方法去重,得到你需要的唯一值集合。

如果你的实际数据中,col2的空值是Pandas标准的缺失值(比如NaN),那只需要把筛选条件改成df['col2'].isna()就可以了,逻辑是完全一致的。

内容的提问来源于stack exchange,提问作者iprof0214

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:29:50