Python替换DataFrame中SUB为指定日期的实现方法
替换DataFrame中日期列的"SUB"值为指定日期
可以通过Pandas的两种常用方法实现,根据你的需求选择即可:
方法1:使用replace批量替换
直接对目标列执行全局替换操作,适合无额外筛选条件的场景:
import pandas as pd # 将列中所有"SUB"替换为指定日期字符串 df['date_col'] = df['date_col'].replace('SUB', '28-09-2020') # 若需要将列转为标准日期类型,执行以下转换(format参数匹配日期格式) df['date_col'] = pd.to_datetime(df['date_col'], format='%d-%m-%Y')
方法2:使用loc精准定位替换
通过布尔索引定位值为"SUB"的行后替换,适合需要附加筛选逻辑的场景:
# 定位所有值为"SUB"的行并替换为指定日期 df.loc[df['date_col'] == 'SUB', 'date_col'] = '28-09-2020' # 转换为datetime类型(可选,根据后续业务需求决定) df['date_col'] = pd.to_datetime(df['date_col'], format='%d-%m-%Y')
注意事项
- 由于列中混合了日期格式与字符串"SUB",该列类型大概率为
object,替换后建议用pd.to_datetime转为标准datetime类型,避免后续日期操作出错。 - 确保匹配的"SUB"是精确字符串,若存在大小写差异(如"sub")或前后空格,需调整匹配条件,比如用
df['date_col'].str.strip().str.upper() == 'SUB'来兼容格式问题。
内容的提问来源于stack exchange,提问作者sri krishna naik
相关产品推荐
相关产品推荐

