进行数据处理的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编码类型转换方法详解
Jul 01 Python
python利用sklearn包编写决策树源代码
Dec 21 Python
python+selenium实现163邮箱自动登陆的方法
Dec 31 Python
python opencv之SURF算法示例
Feb 24 Python
Python实现的计算马氏距离算法示例
Apr 03 Python
Python操作Excel插入删除行的方法
Dec 10 Python
python3使用GUI统计代码量
Sep 18 Python
PyTorch中permute的用法详解
Dec 30 Python
Python小整数对象池和字符串intern实例解析
Mar 21 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
python 19个值得学习的编程技巧
Aug 15 Python
利用python做表格数据处理
Apr 13 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
phpstorm编辑器乱码问题解决
2014/12/01 PHP
Thinkphp 框架扩展之应用模式实现方法分析
2020/04/27 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
JsDom 编程小结
2011/08/09 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
React-Native 组件之 Modal的使用详解
2017/08/08 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
javascript利用canvas实现鼠标拖拽功能
2020/07/23 Javascript
python验证码识别的实例详解
2016/09/09 Python
python实现简单名片管理系统
2018/11/30 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
python多线程同步之文件读写控制
2021/02/25 Python
Python pandas库中的isnull()详解
2019/12/26 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
Python中的特殊方法以及应用详解
2020/09/20 Python
药学专业毕业生求职信
2013/10/20 职场文书
法学院方阵解说词
2014/01/29 职场文书
《郑和远航》教学反思
2014/04/16 职场文书
英文求职信范文
2014/05/23 职场文书
法律专业自荐信
2014/06/03 职场文书
煤矿安全生产标语
2014/06/06 职场文书
机械制造专业大学生自我鉴定
2014/09/19 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
自荐信格式模板
2015/03/27 职场文书
帝企鹅日记观后感
2015/06/10 职场文书
贷款担保书范本
2015/09/22 职场文书
基于Nginx实现限制某IP短时间访问次数
2021/03/31 Servers
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android