如何在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
相关产品推荐
相关产品推荐

