进行数据处理的6个 Python 代码块分享


Posted in Python onApril 06, 2022

前言:

大家好,今天和大家分享自己总结的6个常用的 Python 数据处理代码,对于经常处理数据的coder最好熟练掌握。

1、选取有空值的行

在观察数据结构时,该方法可以快速定位存在缺失值的行。

df = pd.DataFrame({'A': [0, 1, 2],
                   'B': [0, 1, None],
                   'C': [0, None, 2]})
df[df.isnull().T.any()]

输出:

  A   B   C           A   B   C
0 0 0.0 0.0         1 1 1.0 NaN
1 1 1.0 NaN   -->   2 2 NaN 2.0
2 2 NaN 2.0

2、快速替换列值

实际数据处理经常会根据一些限定条件来替换列中的值。

df = pd.DataFrame({'name':['Python', 'Java', 'C']})

# 第一种方式
df['name'].replace('Java', 'JavaScript', inplace=True)
# 第二种方式
df.loc[df['name'].str.contains('Java'), 'name'] = 'JavaScript'

输出:

     name                   name
0  Python          0      Python
1    Java    --->  1  JavaScript
2       C          2           C

3、对列进行分区

很多情况下,对于数值类型的数据,我们需要分区来计算每个区间数据出现的频率。这时用 pd.cut 就能很好的解决这一问题。

import random

age = random.sample(range(90), 20)
cut_res = pd.cut(age, bins=[0, 18, 35, 60, 90])
# cut_res type:<class 'pandas.core.arrays.categorical.Categorical'>
cut_res.value_counts()

输出:

(0, 18]     6
(18, 35]    1
(35, 60]    6
(60, 90]    7

4、将一列分为多列

在文本数据清洗时,一些列中存在分隔符(‘’, ‘,’, ‘:’)分隔的值,我们只需将该列根据分隔符进行 split 即可。

import pandas as pd

df = pd.DataFrame({'address': ['四川省 成都市',
                               '湖北省 武汉市',
                               '浙江省 杭州市']})
res = df['address'].str.split(' ', expand=True)  
res.columns = ['province', 'city']

输出:

  province city
0 四川省    成都市
1 湖北省    武汉市
2 浙江省    杭州市

expand参数选择是否扩展为 DataFrame,False 则返回 Series

5、中文筛选

同样在清洗过程中,往往会出现一些不需要的中文字段,这时直接用 str.contains 筛选即可。

df = pd.DataFrame({'mobile_phone':
                   ['15928765644',
                    '15567332235',
                    '暂无']})
df[~df['mobile_phone'].str.contains('[\u4e00-\u9fa5]')]

输出:

  mobile_phone         mobile_phone
0 15928765644        0 15928765644
1 15567332235   -->  1 15567332235
2 暂无

6、更改列的位置

有时我们需要调整列的位置,当数据列较少时,可以用下面的方式

df = pd.DataFrame({'name': ['A', 'B', 'C'],
                   'age': [10, 20, 30],
                   'gender': [0, 1, 0]})
df = df[['name', 'gender', 'age']]

输出:

 name age gender    name gender age
0   A  10 0        0   A 0       10
1   B  20 1   -->  1   B 1       20
2   C  30 0        2   C 0       30

如果列较多,那么,一个个列举出来会比较繁琐,推荐下面插入的方式。

col = df['gender']
df.drop('gender', axis=1, inplace=True)
df.insert(1, 'gender', col)

到此这篇关于进行数据处理的6个 Python 代码块分享的文章就介绍到这了,更多相关Python 数据处理内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Linux RedHat下安装Python2.7开发环境
May 20 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
Jun 14 Python
对Python字符串中的换行符和制表符介绍
May 03 Python
python 读取文本文件的行数据,文件.splitlines()的方法
Jul 12 Python
Python字典创建 遍历 添加等实用基础操作技巧
Sep 13 Python
django解决跨域请求的问题
Nov 11 Python
python 接收处理外带的参数方法
Dec 03 Python
python安装pywin32clipboard的操作方法
Jan 24 Python
python对文件目录的操作方法实例总结
Jun 24 Python
WxPython实现无边框界面
Nov 18 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
May 19 Python
Python word文本自动化操作实现方法解析
Nov 05 Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 #Python
Python利用capstone实现反汇编
关于Python中进度条的六个实用技巧分享
如何在Python中妥善使用进度条详解
Apr 05 #Python
Python接口自动化之文件上传/下载接口详解
Apr 05 #Python
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
Python中使用Opencv开发停车位计数器功能
You might like
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
yii数据库的查询方法
2015/12/28 PHP
关于Laravel Route重定向的一个注意点
2017/01/16 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
用js实现判断当前网址的来路如果不是指定的来路就跳转到指定页面
2011/05/02 Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
2011/10/09 Javascript
按钮接受回车事件的三种实现方法
2014/06/06 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
原理深度解析Vue的响应式更新比React快
2020/04/04 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
Python Matplotlib库入门指南
2015/05/18 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
使用pandas读取文件的实现
2019/07/31 Python
python十进制转二进制的详解
2020/02/07 Python
使用python检查yaml配置文件是否符合要求
2020/04/09 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
职业规划实施方案
2014/06/10 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
村主任“四风”问题个人整改措施
2014/10/04 职场文书
信仰纪录片观后感
2015/06/08 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
python 用递归实现通用爬虫解析器
2021/04/16 Python
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫