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

pandas数据映射,更改列名,批量映射替换某列数据replace、map、apply、rename对比

关于数据关系映射的三个方法

首先,无论那一种方法,都建议先将映射关系写出来,然后使用方法时,可以直接调写好的关系表。

gys_name = {
    '深圳市腾讯计算机系统有限公司':'腾讯',
    '阿里巴巴(中国)有限公司':'淘宝',
    '北京百度网讯科技有限公司':'百度'
}
change_status = {
    '2':'已确认变更',
    '4':'待确认变更',
    '1':'无变更'
}
order_status = {
    1:'草稿',
    2:'待答交',
    6:'变更中',
    7:'已确认'
}
col_name = {
    '变更状态 1无变更 2已确认并更 3未确认变更 4待确认变更':'变更状态',
    '订单状态 1草稿2待答交3挂起4答交差异5退回6变更中7已确认8已完成':'订单状态'
}

第一种:使用replace()(推荐)

这个replace还有很多其他用法,根据条件进行映射。比如正则、字典、列表等

同时,还支持下面的一句话把所有的都替换了,并且,对于不符合的规则的,他不会去动。

df.replace({'供应商名称':gys_name,
            '变更状态':change_status,
            '订单状态':order_status}, inplace=True)

第二种:使用map()、apply()

这个函数,可以和lambda函数一块搭配使用效果惊人。

但是,map函数对于本文所示的映射,会对不符合规则的改写成NaN

df['供应商名称'] = df['供应商名称'].map(gys_name)
df['变更状态'] = df['变更状态'].map(change_status)
df['订单状态'] = df['订单状态'].map(order_status)

第三种:对于列名/行名索引进行更改rename()

默认变更列名,如果行名的话加上axis=0

df.rename(columns=col_name, inplace=True)

相关文章:

  • 未婚妻晚安之后依然在线,于是我用20行代码写了个小工具
  • MySQL进阶第二天——索引
  • 低代码 low-code
  • 数字经济增长下,数据共享对于企业而言意味着什么?
  • 浙大MEM网上报名关键信息点提醒,选错一个,回头重来
  • 基于Spring Boot的动物救助中心系统
  • 6.HTML标签/元素学习
  • 没前端项目经验很难找实习吗?
  • C#基础--委托、lambda表达式和事件
  • LeetCode 0316. 去除重复字母:单调栈
  • 算法-二叉树
  • 基于统计自适应线性回归的目标尺寸预测
  • springboot-鑫源停车场管理系统 毕业设计 -附源码 290915
  • java题
  • 记录一次超大(200+G)数据量导入ES的解决办法
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • C++入门教程(10):for 语句
  • classpath对获取配置文件的影响
  • HTTP那些事
  • HTTP--网络协议分层,http历史(二)
  • JavaScript函数式编程(一)
  • JS数组方法汇总
  • LeetCode算法系列_0891_子序列宽度之和
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • python 装饰器(一)
  • XML已死 ?
  • Yii源码解读-服务定位器(Service Locator)
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 京东美团研发面经
  • 前端存储 - localStorage
  • 我的zsh配置, 2019最新方案
  • 06-01 点餐小程序前台界面搭建
  • # Panda3d 碰撞检测系统介绍
  • (LeetCode 49)Anagrams
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (九)c52学习之旅-定时器
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (算法)求1到1亿间的质数或素数
  • (转)四层和七层负载均衡的区别
  • .net core 6 redis操作类
  • .net core 6 集成和使用 mongodb
  • .NET gRPC 和RESTful简单对比
  • .NET 的程序集加载上下文
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • /run/containerd/containerd.sock connect: connection refused
  • ::什么意思
  • ??myeclipse+tomcat
  • @Bean有哪些属性
  • [ solr入门 ] - 利用solrJ进行检索
  • [Android] Implementation vs API dependency
  • [AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试