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

如何在Python中基于日期条件为DataFrame创建'Declined Or Hired'新列?

解决方案

先修正你原代码里的语法错误(列名的引号嵌套问题),再添加日期条件即可,步骤如下:

  1. 确保日期列是datetime类型(如果你的Date列还不是日期格式,先执行这一步):
import pandas as pd
df['Date'] = pd.to_datetime(df['Date'])
  1. 构建双条件并生成目标列:
# 条件1:指定列以"Offer Declined"开头
cond_declined = df["(Declined - Reason) Or Hire"].str.startswith('Offer Declined', na=False)
# 条件2:日期在2022年1月1日至3月31日之间
cond_date = df['Date'].between('2022-01-01', '2022-03-31')
# 也可以用年份+月份判断,效果一致:
# cond_date = (df['Date'].dt.year == 2022) & (df['Date'].dt.month <= 3)

# 合并条件,生成1/0列
df['Declined Or Hired'] = (cond_declined & cond_date).astype(int)

说明

  • 用&连接两个条件,表示必须同时满足才返回1,否则返回0
  • na=False会把缺失值视为不满足条件,避免报错
  • astype(int)将布尔值(True/False)转换为整数(1/0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 17:01:18