当前位置: 首页 > news >正文

在pandas中通过一列数据映射出另一列的几种思路和方法

如果一句话中出现某个品牌的关键词,那么就将该品牌进行提取,开始我的做法是写了很多elif,如下:

def brand_describe(x):if 'TRUM' in x.upper():return "通快"elif 'BYSTRONIC' in x.upper():return "百超"elif 'AMADA' in x.upper():return "AMADA"elif 'GWEIKE' in  x.upper():return "金威刻"else:return "其他"

但是如果有新的品牌增加的时候就很难增加,于是我更换函数,先写一个品牌映射的字段,然后在函数中遍历字典,来匹配函数,如下:

def brand_describe(x):brand_mapping = {'TRUM': '通快', 'BYSTRONIC': '百超', 'AMADA': 'AMADA', 'GWEIKE': '金威刻'}# 遍历字典,查找匹配的品牌for brand, description in brand_mapping.items():if brand in x.upper():return descriptionreturn "其他"

最后,使用apply()函数进行映射:

df['品牌'] = df['产品描述'].apply(brand_describe)

后来,我又想到一种品牌映射的方法,使用字典的items()方法可以直接取出key和value,通过产品描述中是否包含关键字来映射品牌

# 创建一个品牌映射字典
brand_mapping =  {'TRUM': '通快', 'BYSTRONIC': '百超', 'AMADA': 'AMADA', 'GWEIKE': '金威刻'}
# 遍历字典并更新数据框
for keyword, brand in brand_mapping.items():df.loc[df['产品描述'].str.contains(keyword), '品牌'] = brand

温馨提示:
上面代码中如果找不到包含的关键字,会显示为空,如果需要显示特定的字符如“其他”,需要在遍历前,将品牌这一列初始化为“其他”

df['品牌'] = '其他'
http://www.lryc.cn/news/183506.html

相关文章:

  • 数据分析视角中的商业分析学习笔记
  • 剑指offer——JZ26 树的子结构 解题思路与具体代码【C++】
  • NEFU数字图像处理(1)绪论
  • 数值分析学习笔记——绪论【华科B站教程版本】
  • 节日灯饰灯串灯出口欧洲CE认证办理
  • 一线大厂Redis高并发缓存架构实战与性能优化
  • PHP 行事准则:allow_url_fopen 与 allow_url_include
  • Replicate + ngrok云端大模型API实现教程
  • 蓝桥等考Python组别十四级005
  • Linux 本地 Docker Registry本地镜像仓库远程连接
  • 二十九、高级IO与多路转接之epollreactor(收官!)
  • vite dev开发模式下支持外部模块引用
  • Chrome出现STATUS_STACK_BUFFER_OVERRUN解决方法之一
  • 【JavaEE】JavaScript
  • 剑指offer——JZ7 重建二叉树 解题思路与具体代码【C++】
  • 图片批量编辑器,轻松拼接多张图片,创意无限!
  • 蓝桥等考Python组别十四级008
  • 【linux进程(二)】如何创建子进程?--fork函数深度剖析
  • 数字IC前端学习笔记:数字乘法器的优化设计(华莱士树乘法器)
  • CountDownLatch 批量更改使用,
  • 910数据结构(2019年真题)
  • 推荐系统实践 笔记
  • 【JavaEE】JUC(Java.util.concurrent)常见类
  • 清除浮动的方法
  • LangChain 摘要 和问答示例
  • (32)测距仪(声纳、激光雷达、深度摄影机)
  • 教你拥有一个自己的QQ机器人!0基础超详细保姆级教学!基于NoneBot2 Windows端搭建QQ机器人
  • 智能银行卡明细筛选与统计,轻松掌握账户总花销!
  • SRT服务器SLS
  • Linux 安装 Android SDK