进行数据处理的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多线程编程方式分析示例详解
Dec 06 Python
Python的dict字典结构操作方法学习笔记
May 07 Python
利用Python在一个文件的头部插入数据的实例
May 02 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
May 24 Python
python定向爬虫校园论坛帖子信息
Jul 23 Python
Python封装原理与实现方法详解
Aug 28 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
Jan 17 Python
Python实现代码统计工具
Sep 19 Python
Django filter动态过滤与排序实现过程解析
Nov 26 Python
python邮件中附加文字、html、图片、附件实现方法
Jan 04 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
Feb 03 Python
基于Python实现nc批量转tif格式
Aug 14 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
phpmyadmin的#1251问题
2006/11/25 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
javascript document.images实例
2008/05/27 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
js倒计时小程序
2013/11/05 Javascript
页面加载完毕后滚动条自动滚动一定位置
2014/02/20 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
js实现html table 行,列锁定的简单实例
2016/10/13 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
深入探讨JavaScript的最基本部分之执行上下文
2019/02/12 Javascript
Vue 中可以定义组件模版的几种方式
2019/08/06 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
2020/03/16 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
[00:15]天涯墨客终极技能展示
2018/08/25 DOTA
用python与文件进行交互的方法
2018/03/01 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
Python-jenkins 获取job构建信息方式
2020/05/12 Python
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
校园运动会广播稿
2014/10/06 职场文书
政风行风建设整改方案
2014/10/27 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
班主任经验交流心得体会
2015/11/02 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
python实现Nao机器人的单目测距
2021/09/04 Python
Python matplotlib绘制雷达图
2022/04/13 Python
Golang gRPC HTTP协议转换示例
2022/06/16 Golang