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

在Pandas中实现特定字符串在列间迁移的方法

迁移Pandas DataFrame中"Reduced on"数据到新列的实现方法

场景说明

现有如下房产信息DataFrame,Added on列中混有Reduced on ...格式的数据,需要将这类数据迁移至新建的Reduced on列,并清理原列的无效内容:

AddressAdded on
15 Smith CloseAdded on 17/11/22
1 Apple DriveReduced on 19/11/22
27 Pride placeAdded on 18/1//22

具体实现步骤

  1. 构造示例DataFrame(可跳过,直接用你现有数据)
import pandas as pd

data = {
    "Address": ["15 Smith Close", "1 Apple Drive", "27 Pride place"],
    "Added on": ["Added on 17/11/22", "Reduced on 19/11/22", "Added on 18/1//22"]
}
df = pd.DataFrame(data)
  1. 新建Reduced on列并提取对应数据
    用正则表达式匹配Reduced on开头的内容,提取到新列中:
df["Reduced on"] = df["Added on"].str.extract(r'(Reduced on \d{2}/\d{2}/\d{2})')
  1. 清理原Added on列
    只保留包含Added on的有效内容,其余替换为缺失值:
df["Added on"] = df["Added on"].where(df["Added on"].str.contains("Added on"), pd.NA)

处理后的结果

执行上述代码后,DataFrame会变为:

AddressAdded onReduced on
15 Smith CloseAdded on 17/11/22NaN
1 Apple DriveNaNReduced on 19/11/22
27 Pride placeAdded on 18/1//22NaN

可选:转换日期格式

如果需要将日期字符串转为datetime类型,方便后续分析,可以添加以下代码:

# 转换Added on列日期
df["Added on"] = pd.to_datetime(df["Added on"].str.replace("Added on ", ""), errors="coerce")
# 转换Reduced on列日期
df["Reduced on"] = pd.to_datetime(df["Reduced on"].str.replace("Reduced on ", ""), errors="coerce")

内容的提问来源于stack exchange,提问作者Robin Baggott la Velle

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 00:00:08