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

如何按条件筛选pandas Series元素以获取DataFrame中仅含1个唯一值的列名

解决方案
  • 针对你已经生成的唯一值计数Seriessr,可以直接用和DataFrame一致的布尔索引逻辑筛选,无需循环遍历:
# 直接获取所有值为1的元素对应的索引(即符合要求的列名)
result = sr[sr == 1].index.to_list()
# 如需直接打印输出
print(result)
  • 如果不需要单独保留中间Series变量,可以一步拿到最终结果:
result = df.columns[df.nunique() == 1].to_list()

原理说明:df.nunique()默认按列统计唯一值数量,返回的Series索引对应原DataFrame的列名,值对应该列的唯一值计数。sr == 1会生成等长的布尔Series,用它过滤原Series后,剩余元素的索引就是仅含1个唯一值的列名。这种向量化操作是pandas原生实现,比手动遍历iteritems()的执行效率高得多,代码也更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:54:02