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

在Pandas数据集中比较BRAND与my_Brand列并处理不匹配值

Pandas品牌列匹配与值迁移解决方案

需求说明

现有多列Pandas数据集,需实现以下逻辑:

  • 将BRAND列的每个条目与my_Brand列的所有条目进行比对
  • 若BRAND条目未在my_Brand的任何条目中出现:将该BRAND值移至NEW_DESCRIPTION列,同时清空当前BRAND列
  • 若匹配成功:保持BRAND列值不变,NEW_DESCRIPTION列内容也不变

你的尝试代码问题

你写的列表推导式逻辑完全不符合需求:

df_Brand['BRAND'] = [y if x == '' else x for x,y in zip(df_Brand['BRAND'],df_Brand['my_Brand'])]

这段代码只是把同一行中BRAND为空的值替换成该行的my_Brand值,没有实现跨列全量比对的核心逻辑。

可行解决方案代码

以下是符合需求的完整代码,包含示例数据和详细逻辑:

import pandas as pd

# 构建示例数据集(和你提供的结构一致)
data = {
    'BRAND': ['USE 615880.ATT GROUND ROD', 'COMMSCOPE', 'ELECTRO-WIRE INC.', 'GALTRONICS'],
    'NEW_DESCRIPTION': ['HOISTING GRIP FOR PWRT-608 POWER CABLE, CEQ.7...', '', 'TELCOFLEX II 6 AWG L2 GREEN, KS24194-SOUTHWIR.', '12 X 12\' GRIP SPAN ICE BRIDGE'],
    'my_Brand': ['123EWIRELESS', '3M Products', 'COMMSCOPE', 'o-m6 Technologies']
}
df = pd.DataFrame(data)

# 1. 预处理:将NEW_DESCRIPTION的空值/NaN转为空字符串,避免拼接出错
df['NEW_DESCRIPTION'] = df['NEW_DESCRIPTION'].fillna('').astype(str)

# 2. 提取my_Brand列的所有有效品牌,转为集合(集合查找速度远快于列表)
valid_brand_set = set(df['my_Brand'].dropna().unique())

# 3. 批量处理每一行数据
for idx, row in df.iterrows():
    current_brand = row['BRAND']
    # 检查当前品牌是否在有效品牌集合中
    if current_brand not in valid_brand_set:
        # 拼接原描述和品牌值(原描述非空时加空格分隔)
        updated_desc = f"{row['NEW_DESCRIPTION']} {current_brand}".strip()
        # 更新列值:清空BRAND,替换NEW_DESCRIPTION
        df.loc[idx, 'BRAND'] = ''
        df.loc[idx, 'NEW_DESCRIPTION'] = updated_desc

# 输出处理后的结果
print(df)

代码关键说明

  • 用集合存储有效品牌:因为集合的成员查找操作是O(1)时间复杂度,比列表的O(n)快很多,适合数据量较大的场景
  • 预处理空值:避免拼接NEW_DESCRIPTION时出现NaN或异常字符串
  • 逐行处理逻辑:直观易懂,适合新手理解,若数据量极大可改用矢量化操作提升效率

处理后示例结果

BRANDNEW_DESCRIPTIONmy_Brand
HOISTING GRIP FOR PWRT-608 POWER CABLE, CEQ.7... USE 615880.ATT GROUND ROD123EWIRELESS
COMMSCOPE3M Products
ELECTRO-WIRE INC.TELCOFLEX II 6 AWG L2 GREEN, KS24194-SOUTHWIR.COMMSCOPE
12 X 12' GRIP SPAN ICE BRIDGE GALTRONICSo-m6 Technologies

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 01:50:48