Pandas如何拆分无分隔符列 提取YYYYMMDD日期的MMDD部分
批量处理CSV日期列方案
你当前使用的iterrows逐行遍历写法是pandas处理大数据的典型低效用法,完全没有利用pandas的向量化运算能力,处理百万行数据必然耗时极长,直接使用pandas内置的批量字符串操作即可实现秒级处理。
核心实现代码
已知日期列列名的写法(假设列名为date)
# 整列批量转为字符串后取第4位之后的内容,即为MMDD部分 data['date'] = data['date'].astype(str).str[4:]
未知列名、仅需处理第一列的写法
# 按列位置选取第一列做批量处理 data.iloc[:, 0] = data.iloc[:, 0].astype(str).str[4:]
全流程参考(从读文件到保存结果)
import pandas as pd # 读取原始CSV文件 data = pd.read_csv("你的原始文件路径.csv") # 批量处理日期列 data.iloc[:, 0] = data.iloc[:, 0].astype(str).str[4:] # 保存处理后的结果到新文件,不会覆盖原文件 data.to_csv("处理后文件路径.csv", index=False)
如果你的日期列本身已经是字符串格式,可以省略.astype(str)步骤,处理速度会更快。
内容的提问来源于stack exchange,提问作者Maarten
相关产品推荐
相关产品推荐

