进行数据处理的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 相关文章推荐
python使用any判断一个对象是否为空的方法
Nov 19 Python
Linux下使用python调用top命令获得CPU利用率
Mar 10 Python
Python3操作SQL Server数据库(实例讲解)
Oct 21 Python
在python带权重的列表中随机取值的方法
Jan 23 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
Django 项目重命名的实现步骤解析
Aug 14 Python
python实现文件批量编码转换及注意事项
Oct 14 Python
wxPython之wx.DC绘制形状
Nov 19 Python
python错误调试及单元文档测试过程解析
Dec 19 Python
Python调用scp向服务器上传文件示例
Dec 22 Python
python em算法的实现
Oct 03 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
May 31 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生成月历代码
2007/06/14 PHP
PHP EOT定界符的使用详解
2008/09/30 PHP
深入探讨<br />和 \r\n两者有什么区别??
2013/06/05 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
2019/10/08 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
jquery遍历input取得input的name
2009/04/27 Javascript
比Jquery的document.ready更快的方法
2010/04/28 Javascript
javascript 内存回收机制理解
2011/01/17 Javascript
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
js文字横向滚动特效
2015/11/11 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
深入理解ES6学习笔记之块级作用域绑定
2017/08/19 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
关于JS模块化的知识点分享
2019/10/16 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
python处理PHP数组文本文件实例
2014/09/18 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
django序列化serializers过程解析
2019/12/14 Python
Python 中的pygame安装与配置教程详解
2020/02/10 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
Python中全局变量和局部变量的理解与区别
2021/02/07 Python
中年人生感言
2014/02/04 职场文书
珍惜资源保护环境的建议书
2014/05/14 职场文书
企业读书活动总结
2014/06/30 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
医生个人年终总结
2015/02/28 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
win10截图快捷键win+shift+s没有反应无法截图怎么解决?
2022/08/14 数码科技