进行数据处理的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 07 Python
Python+request+unittest实现接口测试框架集成实例
Mar 16 Python
python实现感知器算法(批处理)
Jan 18 Python
django模板结构优化的方法
Feb 28 Python
Python实现二叉搜索树BST的方法示例
Jul 30 Python
python爬虫解决验证码的思路及示例
Aug 01 Python
python  logging日志打印过程解析
Oct 22 Python
GDAL 矢量属性数据修改方式(python)
Mar 10 Python
4行Python代码生成图像验证码(2种)
Apr 07 Python
python之openpyxl模块的安装和基本用法(excel管理)
Feb 03 Python
浅析Python中的套接字编程
Jun 22 Python
Django+Nginx+uWSGI 定时任务的实现方法
Jan 22 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
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
PHP日期时间函数的高级应用技巧
2009/05/16 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
浅谈layui 表单元素的选中问题
2019/10/25 Javascript
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中针对函数处理的特殊方法
2014/03/06 Python
web.py获取上传文件名的正确方法
2014/08/26 Python
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
python3实现微型的web服务器
2019/09/03 Python
简单了解为什么python函数后有多个括号
2019/12/19 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
2021/01/06 Python
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
Ruby如何定义一个类
2012/10/08 面试题
大四学生毕业自荐信
2013/11/07 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
初一新生军训方案
2014/05/22 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
2015医德医风个人工作总结
2015/04/02 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android