进行数据处理的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实现对比不同字体中的同一字符的显示效果
Apr 23 Python
一篇文章入门Python生态系统(Python新手入门指导)
Dec 11 Python
python实现员工管理系统
Jan 11 Python
python实现堆和索引堆的代码示例
Mar 19 Python
对pandas里的loc并列条件索引的实例讲解
Nov 15 Python
Python3.6.2调用ffmpeg的方法
Jan 10 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
Python面向对象程序设计之继承、多态原理与用法详解
Mar 23 Python
Python实现aes加密解密多种方法解析
May 15 Python
python代码实现将列表中重复元素之间的内容全部滤除
May 22 Python
python爬虫数据保存到mongoDB的实例方法
Jul 28 Python
python time.strptime格式化实例详解
Feb 03 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 ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
Javascript实现的分页函数
2006/12/22 Javascript
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
11个用于提高排版水平的基于jquery的文字效果插件
2012/09/14 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
使用js 设置url参数
2013/07/08 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
Js实现网页键盘控制翻页的方法
2014/10/30 Javascript
jQuery判断元素上是否绑定了指定事件的方法
2015/03/17 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
PhotoSwipe异步动态加载图片方法
2016/08/25 Javascript
对javascript继承的理解
2016/10/11 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
微信小程序实现简单表格
2019/02/14 Javascript
详解javascript中的Error对象
2019/04/25 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
js实现验证码功能
2020/07/24 Javascript
Django框架中的对象列表视图使用示例
2015/07/21 Python
python格式化输出保留2位小数的实现方法
2019/07/02 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
Java面试笔试题大全
2016/11/23 面试题
家居设计专业个人自荐信范文
2013/11/26 职场文书
给同事的道歉信
2014/01/11 职场文书
北京大学自荐信范文
2014/01/28 职场文书
教师教学评估方案
2014/05/09 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
行政处罚告知书
2015/07/01 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
描写九月优美句子(39条)
2019/09/11 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android