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

如何在Pandas DataFrame中删除日期匹配行并修改指定列值

实现方案

首先需要确保date和rating_date列为datetime类型,避免字符串格式下的比较误差,完整操作代码如下:

步骤1:导入依赖+构造/读取数据+类型转换

import pandas as pd

# 构造示例数据,如果你已经有df可以跳过这一步
data = {
    "id": [1,2,3,4,5],
    "date": ["1993-05-20", "1987-03-12", "1994-01-19", "2004-08-03", "2005-10-12"],
    "rating_date": ["1993-05-20", "1988-03-12", "1994-10-19", "2004-09-17", "2005-10-12"],
    "rating": [3,4,3,2,2]
}
df = pd.DataFrame(data)

# 转换两列为datetime格式
df["date"] = pd.to_datetime(df["date"])
df["rating_date"] = pd.to_datetime(df["rating_date"])

步骤2:执行需求操作

# 1. 过滤删除date和rating_date值相等的行
df = df[df["date"] != df["rating_date"]]

# 2. 把rating_date大于date的行的rating改为NR
# 如果你确认过滤后剩余所有行都是rating_date>date,直接写df['rating'] = 'NR'即可
# 更严谨的写法(避免存在rating_date<date的异常数据被误改):
df.loc[df["rating_date"] > df["date"], "rating"] = "NR"

输出结果

执行完成后打印df即可得到目标结果:

id       date rating_date rating
1   2 1987-03-12  1988-03-12     NR
2   3 1994-01-19  1994-10-19     NR
3   4 2004-08-03  2004-09-17     NR

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 13:57:04