进行数据处理的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实现多行注释的另类方法
Aug 22 Python
Python每天必学之bytes字节
Jan 28 Python
Python中的FTP通信模块ftplib的用法整理
Jul 08 Python
python使用PyCharm进行远程开发和调试
Nov 02 Python
Python SQL查询并生成json文件操作示例
Aug 17 Python
Puppeteer使用示例详解
Jun 20 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
Feb 05 Python
Python+appium框架原生代码实现App自动化测试详解
Mar 06 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
Apr 20 Python
python virtualenv虚拟环境配置与使用教程详解
Jul 13 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
Nov 20 Python
Pytorch1.5.1版本安装的方法步骤
Dec 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为什么选mysql作为数据库? Mysql 创建用户方法
2007/07/02 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
简单理解PHP的面向对象编程方式
2016/05/17 PHP
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
php 可变函数使用小结
2018/06/12 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
表单的焦点顺序tabindex和对应enter键提交
2013/01/04 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
React实现全选功能
2020/08/25 Javascript
vue3.0 上手体验
2020/09/21 Javascript
vue使用element-ui实现表单验证
2020/12/13 Vue.js
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
总结python实现父类调用两种方法的不同
2017/01/15 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
2018/07/13 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
美国折扣香水网站:The Perfume Spot
2020/12/12 全球购物
机关单位动员会主持词
2014/03/20 职场文书
倡议书格式范文
2014/04/14 职场文书
养成教育经验材料
2014/05/26 职场文书
环卫工人节活动总结
2014/08/29 职场文书
生活小常识广播稿
2014/09/16 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL