如何用Python删除CSV文件中非2020年日期的行?
解决方案
首先注意你的代码里缺少了pandas的导入,需要先补充:
import pandas as pd import numpy as np
接下来分两步完成日期筛选:
1. 将date列转换为datetime类型
CSV读取后date列通常是字符串格式,转为datetime类型才能方便提取年份:
# 转换date列为datetime类型 dataset['date'] = pd.to_datetime(dataset['date']) # 如果你的日期格式特殊(比如"dd/mm/yyyy"),可以指定format参数: # dataset['date'] = pd.to_datetime(dataset['date'], format="%d/%m/%Y")
2. 筛选2020年的数据
利用datetime类型的dt.year属性提取年份,过滤出符合条件的行:
# 仅保留2020年的数据 dataset_2020 = dataset[dataset['date'].dt.year == 2020]
可选:保存处理后的数据
如果需要将结果导出为新CSV文件:
dataset_2020.to_csv('purchases_2020.csv', index=False)
完整代码示例:
import pandas as pd import numpy as np dataset = pd.read_csv('purchases.csv') dataset.info() # 确认无缺失值 # 转换日期列 dataset['date'] = pd.to_datetime(dataset['date']) # 筛选2020年数据 dataset_2020 = dataset[dataset['date'].dt.year == 2020] # 可选:保存结果 dataset_2020.to_csv('purchases_2020.csv', index=False)
内容的提问来源于stack exchange,提问作者reallilpunch
相关产品推荐
相关产品推荐

