面对一堆数据,你要怎么做——python数据合并、重塑和清理
off999 2024-09-16 00:49 57 浏览 0 评论
数据的清理、转换、合并和重塑是数据分析与挖掘的基础工作,而且常常消耗了分析人员大部分的时间,本文将介绍pandas的核心函数如何帮助分析人员进行数据规整工作。
一、数据的重排
1、合并数据集
多个数据集的合并是我们经常遇到的数据规整工作,例如各种类型商品在不同渠道的销售数据需要按照渠道进行汇总,各子公司每个月的财务数据需要按照月份进行汇总,这里边主要用到以下4个函数:
| 函数 | 参数 | 说明 |
| pandas.merge() | Left, right, how ,on, left_on, right_on, sort, suffixes, copy | 可根据一个或多个键将DataFrame连接起来 |
| pandas.concat() | objs, axis, join, join_axes, keys, levels, names, verify_integrity, ignore_index | 沿着一个轴将多个对象堆叠到一起 |
| obj1.combile_first(obj2) | obj | 将重复数据编结在一起,用一个对象的值边界另一个对象对缺失值。 |
| np.where() | 如np.where(pd.innull(a),b,a) | If-else逻辑的矢量化形式 |
下面以官方文档的几个例子简单介绍一下:
示例1:pandas.merge()
示例2:pandas.concat()
2、重塑和轴向旋转
我们常常需要把时间序列的数据按照类别、区域等维度进行重塑,从长格式转变为宽格式,这里边主要涉及3个函数:
| 函数 | 参数 | 说明 |
| obj.stack() | level, dropna, 默认值为level=-1, dropna=True,从最内层开始旋转,过滤缺失值 | 将DataFrame数据的列选装为行,返回Series |
| obj.unstack | Level, fill_value, 默认值为level=-1, fill_value=None,从最内层开始旋转,不填充缺失值 | 将层次化索引的Series旋转为列,返回DataFrame |
| pandas.pivot_table | Obj, values, index, columns, aggfunc | 创建层次化索引,并重塑。相当于先set_index,再unstack |
示例如下:
示例3:Obj.stack()
示例4:Obj.unstack()
示例5:Pandas.pivot_table()
二、数据的过滤和清理
对数据进行合并或重塑后,就需要对数据的内容进行处理,例如去重、替换或者元素级的转换和计算。
| 函数 | 参数 | 说明 |
| obj.duplicated() | Keep,默认为first,即判定第一次出现对行为true | 判断是否重复,返回一个布尔型Series |
| obj.drop_duplicated() | keep='first', inplace=False | 返回一个移除了重复行的DataFrame |
| obj.map() | 接受一个函数或字典型对象,进行元素级转换 | |
| obj.replace() | Obj.replace(a,b) | 替换 |
示例6:map()
三、字符串操作
最后,单独介绍一下Python的字符串和文本处理函数,Python进行字符串操作极其简洁。常用字符串的方法如下所示:
| 方法 | 说明 |
| count | 子串在字符串中出现对次数 |
| endswith、startswith | 字符串以某个后缀(前缀结尾),则返回true |
| Join | 将字符串用作连接其它字符串序列的分隔符 |
| index | 如果在字符串中找到子串,则返回第一个发现的子串第一个字符所在对位置。否则引发valueError |
| find | 如果在字符串中找到子串,则返回第一个发现的子串第一个字符所在对位置。否则返回-1 |
| rfind | 如果在字符串中找到子串,则返回最后一个发现对子串第一个字符所在对位置。否则返回-1 |
| strip、rstrip、istrip | 去除空白字符或换行符 |
| Split | 通过指定的分隔符将字符串拆分为一串子串 |
| lower、upper | 分别将字母转换大小写 |
| Ijust、rjust | 用空格(或其它字符)填充字符串的空白侧以返回符合最低宽度的字符串。 |
另外,还有Python的正则表达式功能也是文本处理的利器,主要使用内置对re模块,可以进行模式匹配(compile)、替换(replace)和拆分(split),常用的函数包括findall,match,search等。正则表达式其实可以自成一章,内容较多,此处不再详细介绍。
相关推荐
- 腾讯公司版权所有(腾讯开放版权)
-
你好!其实这个很好理解,就是版权公司把这个音乐的管理、销售权限(独家版权)授权给了腾讯,腾讯可以把音乐对外进行转授权。所以你看有一些腾讯独家版权的歌,为什么其他音乐平也台会有呢?其实就是腾讯授予的。因...
- 智能语音机器人(智能语音机器人哪个最好)
-
1、小米的小爱小爱的智能应用随着近年来的不断升级,在很多手机应用都带来了智能新体验。像移动支付、生活购物、查询信息、打开应用等等,小爱智能语音识别就可以帮你解决。用户还可以自己创建快捷方式,进行语音交...
- adobe lightroom(adobe lightroom for ipad破解版)
-
adobelightroom是一款非常不错的在线教育软件,adobelinghtroom这款软件具有资源管理,资源共享,在线学习,在线考试,成绩管理,教学管控,教学互动,效果评估等等功能,可以为用户提...
- 解压软件免费(电脑解压软件免费)
-
WinRAR压缩软件winrar压缩软件界面友好,WINRAR现在最好的压缩工具。使用方便,压缩率和速度方面都有很好的表示。其压缩率比之WINZIP之流要高。winrar压缩软件采用了比Zip更...
- 微信名字 昵称 好听(微信名字 昵称 好听2025)
-
1、春风化雨,2、昨夜轻风3、番茄蛋汤,4、如花似玉5、花落无声,6、似水流年7、铿锵玫瑰,8、海阔天空9、潜物无声,10、浅笑心柔11、春风乍起,12、如花似玉13、淡泊人生,14、桃花盛开15、云...
- 编程基础知识(计算机编程零基础教程)
-
自动化编程是指利用计算机程序来实现自动化操作的技术。入门基础知识包括编程语言的基本语法和逻辑思维能力,了解常用的自动化工具和框架,如Python、Java、C#等编程语言,以及Selenium、Rob...
-
- mp3转mp4格式转换器(mp3转换成mp4格式的手机软件)
-
下载格式工厂,打开格式工厂,点音频,选择MP3,点右上角添加文件,选择要转换的MP4文件,点确定就可以了。...
-
2026-02-03 11:51 off999
- lol盒子官方下载(英雄联盟盒子官方)
-
Wegame英雄联盟箱也叫LOL盒子,但现在LOL盒子已经被删除了,但是你可以放现在的盒子Wegame它被理解为英雄联盟指定插件,因为它还具有查看召唤师记录和记录各种数据、水晶复活、野生怪...
- 微信2025最新版本官方免费下载
-
是的,苹果6可以继续使用微信。虽然苹果6已经不再是最新的iPhone型号,但它仍然能够支持微信的运行。只要你的苹果6上安装了最新版本的iOS系统,你就可以在上面下载和使用微信应用程序,与朋友们聊天、分...
- 在线音乐(在线音乐合集)
-
在线听音乐就是利智能手机或者电脑,其中的应用上的资源,不下载随搜随播放收听,这样的听音乐方便快捷,但是音质一般,因为手机和电脑都是软解,若是想要得到无损音质,则把曲目下载后导出手机或者电脑外,使用储卡...
- 滴滴注册司机车辆要求(滴滴注册司机车辆要求营运证)
-
以北海市为例,车辆要求如下:根据《北海市网约车管理实施细则》第十三条拟从事网约车经营的车辆,应当符合以下条件(一)七座及以下乘用车;(二)网约车经营车辆尾气排放必须达到国家规定的环保标准,发动机排量...
- 植物大战僵尸单机下载(单机植物大战僵尸免费版手机版)
-
您好,要在手机上下载并玩植物大战僵尸无尽版(Plantsvs.ZombiesEndlessVersion),可以按照以下步骤操作:1.打开手机的应用商店(如AppStore或Google...
-
- 赚钱app第一名(赚钱app第一名提现微信)
-
比较大的公司产品就有:抖音极速版和今日头条极速版,欢迎扫码注册,注册后可以做任务赚金币,金币可以还钱,还可以提现;其他还有一些各种app,什么走路赚钱,读书赚钱等等的,不过不建议安装。头条、西瓜、抖音、快手等等都很靠谱啊,赚钱只能各凭本事了...
-
2026-02-03 09:51 off999
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
16949认证费用是多少(16949审核员太难考了)
-
linux软件(linux软件图标)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
