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

如何使用Pandas从CSV文件中提取符合指定日期范围的日期值及对应行的NAME字段

我来帮你修正这个问题——你之前的代码把日期从原数据里单独抽成列表,自然就丢失了和NAME的关联啦。咱们直接在DataFrame上操作,保留每一行的对应关系就能解决这个问题。

修改后的解决方案

下面是两种实现方式,你可以根据需求选择:

方式一:推荐使用(日期类型更健壮)

把日期列转换为datetime类型,避免字符串比较可能出现的格式问题,同时完整保留NAME和日期的对应关系:

import pandas as pd

# 读取CSV文件
df = pd.read_csv("scratch_2.csv")

# 将日期列转换为datetime类型,确保日期比较的准确性
df['D_INT_1'] = pd.to_datetime(df['D_INT_1'])
df['D_INT_2'] = pd.to_datetime(df['D_INT_2'])

# 定义目标日期范围
start_date = pd.to_datetime("2022-03-01")
end_date = pd.to_datetime("2024-12-31")

# 收集符合条件的结果
results = []

# 筛选D_INT_1在范围内的行,提取NAME和对应日期
filtered_int1 = df[(df['D_INT_1'] >= start_date) & (df['D_INT_1'] <= end_date)]
for _, row in filtered_int1.iterrows():
    results.append(f"{row['NAME']}, {row['D_INT_1'].strftime('%Y-%m-%d')}")

# 筛选D_INT_2在范围内的行,提取NAME和对应日期
filtered_int2 = df[(df['D_INT_2'] >= start_date) & (df['D_INT_2'] <= end_date)]
for _, row in filtered_int2.iterrows():
    results.append(f"{row['NAME']}, {row['D_INT_2'].strftime('%Y-%m-%d')}")

# 逐行输出结果
print('\n'.join(results))

方式二:直接用字符串比较(适合日期格式严格为YYYY-MM-DD的情况)

如果你的日期列已经是标准的YYYY-MM-DD字符串格式,也可以跳过类型转换,直接用字符串比较:

import pandas as pd

df = pd.read_csv("scratch_2.csv")

# 定义目标日期范围(字符串格式)
start_date = "2022-03-01"
end_date = "2024-12-31"

results = []

# 处理D_INT_1列
filtered_int1 = df[(df['D_INT_1'] >= start_date) & (df['D_INT_1'] <= end_date)]
for _, row in filtered_int1.iterrows():
    results.append(f"{row['NAME']}, {row['D_INT_1']}")

# 处理D_INT_2列
filtered_int2 = df[(df['D_INT_2'] >= start_date) & (df['D_INT_2'] <= end_date)]
for _, row in filtered_int2.iterrows():
    results.append(f"{row['NAME']}, {row['D_INT_2']}")

print('\n'.join(results))

示例输出

针对你给出的示例DataFrame:

NAME, ADDRESS, D_INT_1, D_INT_2
Mark, H4N1V8, 2023-01-02, 2019-01-01

运行代码后会输出:

Mark, 2023-01-02

如果某一行的两个日期都符合条件,会输出两条对应记录(比如NAME为Alice,D_INT_1是2022-05-01,D_INT_2是2023-06-01,会输出Alice, 2022-05-01和Alice, 2023-06-01)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 00:27:48