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

如何在Pandas中筛选原列指定值创建内容统一的新列?

在Pandas中基于列筛选结果创建统一值新列的方法

要实现你需求的功能,可以通过以下步骤完成:

完整代码示例

import pandas as pd

# 构建原始DataFrame
df = pd.DataFrame({
    'A': ['a', 'b', 'c', 'd'],
    'B': [2, 1, 4, 9]
})

# 筛选B列中大于3的值,转为字符串后用'/'拼接
filtered_result = '/'.join(df[df['B'] > 3]['B'].astype(str))

# 为DataFrame添加新列C,所有行均使用拼接后的字符串
df['C'] = filtered_result

# 查看结果
print(df)

代码解释

  1. 筛选目标值:df[df['B'] > 3]['B'] 提取出B列中所有大于3的数值,得到序列 4, 9
  2. 转换为字符串类型:.astype(str) 将筛选出的数值转换为字符串,确保后续拼接操作可行
  3. 拼接成目标字符串:'/'.join(...) 把字符串序列用'/'连接,生成最终的字符串 "4/9"
  4. 新增统一值列:直接将拼接好的字符串赋值给新列C,Pandas会自动将该值广播到DataFrame的每一行,实现所有行内容一致的效果

动态调整筛选条件

如果需要根据不同阈值动态筛选,只需修改条件中的数值即可,比如设置变量控制阈值:

threshold = 3  # 可根据需求动态修改此值
filtered_result = '/'.join(df[df['B'] > threshold]['B'].astype(str))
df['C'] = filtered_result

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 13:35:15