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

Python实现不同行数DataFrame列间相似值替换

批量替换DataFrame中的门店名称

你需要将包含日期和冗余前缀的门店名称,批量替换为标准门店名,以下是基于Pandas的解决方案:

1. 核心思路

从示例数据可看出,门店名称的核心标识是字母A/B/C/D,不受前缀(如The、Store letter)和后缀日期影响。通过正则提取核心字母,即可生成统一的标准门店名。

2. 代码实现

假设你的原始DataFrame名为df,代码如下:

import pandas as pd
import re

# 模拟原始数据(实际使用时替换为你的数据源)
data = {
    '门店': [
        'Store A 05/15/21',
        'The Store B 04/01/21',
        'Store letter B 11/12/21',
        'Store C 10/24/21',
        'Store D 09/30/21',
        'the Store C 05/13/21',
        'Store letter D 07/01/21',
        'Store letter A 08/29/21'
    ],
    '待替换目标值': ['Store A', 'Store B', 'Store C', 'Store D', '', '', '', '']
}
df = pd.DataFrame(data)

# 定义标准化函数
def standardize_store(name):
    # 匹配核心字母,忽略大小写
    match = re.search(r'Store(?: letter)? ([A-D])', name, flags=re.IGNORECASE)
    if match:
        return f'Store {match.group(1).upper()}'
    return name  # 无匹配时保留原名称

# 应用标准化并清理列
df['门店'] = df['门店'].apply(standardize_store)
df = df.drop('待替换目标值', axis=1)

print(df)

3. 最终输出结果

运行代码后得到的DataFrame如下:

门店
Store A
Store B
Store B
Store C
Store D
Store C
Store D
Store A

4. 大数据量适配说明

该方法基于正则匹配,无需手动维护大量映射字典,可直接适配6000行数据。若存在特殊格式的门店名,只需补充正则规则即可覆盖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:24:25