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

如何在Pandas DataFrame中根据另一列条件为新列填充值

实现方案

你可以直接用Pandas的loc条件赋值实现需求,你的C列已经初始化为空值,只需要给满足条件的行赋值即可,无需修改其他位置的值:

  • 核心代码:
df.loc[df['A'] < 2, 'C'] = 'C'

代码逻辑是筛选所有A列数值小于2的行,将对应位置的C列值设为'C',其余未匹配到的行仍保持原来的空值,完全符合你给出的预期效果。


如果你需要完整可运行的测试代码,可以参考下方:

import pandas as pd
import numpy as np

# 构造你提供的示例数据
df = pd.DataFrame({
    "A": [1,2,3,4,5,6,7,8,9,1,0,1,1,1],
    "B": [np.nan, "AB","AB","AB","AB","AB","AB","AB","AB", np.nan, np.nan, np.nan, np.nan, np.nan]
})
# 初始化C列为空值
df["C"] = np.nan

# 执行赋值操作
df.loc[df["A"] < 2, "C"] = "C"

# 查看结果
print(df)

补充可选方案:如果你还没有初始化C列,也可以用np.where一次性生成目标列:

df["C"] = np.where(df["A"] < 2, "C", np.nan)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:54:03