效率倍增!12 个必知必会的 Python 数据处理技巧!
目前 Python 已经成为最受欢迎的程序设计语言之一。由于 Python 语言的简洁性、易读性以及可扩展性,用 Python 做科学计算的研究机构日益增多,很多知名大学已经采用 Python 来教授程序设计课程。
在日常工作中一些比较繁琐的数据处理逻辑,我们在 Python 中总能找到一些数据处理技巧,这些技巧节省我们大量的宝贵的时间并使自己的工作更简单。在这篇文章中,我将介绍我使用过的 23 个数据处理技巧,如果对你有所帮助,欢迎分享、点赞支持。
1、Pandas Cut and qcut
在pandas上,Cut命令可以创建等间距的箱子,但每个箱子中的采样频率不相等,qcut命令可以创建大小不等的箱子,但每个箱子中的采样频率相同,这两个函数在做特征工程分箱操作时是非常棒的技巧。
导入必要的库和数据:
import pandas as pd
import numpy as np
df_rollno = pd.DataFrame({'Roll No': np.random.randint(20, 55, 10)})
df_rollno
使用 cut 函数:
df_rollno['roll_no_bins'] = pd.cut(x=df_rollno['Roll No'], bins=[20, 40, 50, 60])
使用 qcut 函数:
pd.qcut(df_rollno['Roll No'], q=6)
2、并行操作
pandarallel 用于将计算分布到计算机上所有可用的CPU上,以显著提高速度。
安装 pandarallel
pip install pandarallel
导入必要的库
%load_ext autoreload
%autoreload 2
import pandas as pd
import time
from pandarallel import pandarallel
import math
import numpy as np
import random
from tqdm._tqdm_notebook import tqdm_notebook
tqdm_notebook.pandas()
初始化pandarallel
pandarallel.initialize(progress_bar=True)
df = pd.DataFrame({'A' : [random.randint(8,15) for i in range(1,100000) ],'B' : [random.randint(10,20) for i in range(1,100000) ]
})
def trigono(x):return math.sin(x.A**2) + math.sin(x.B**2) + math.tan(x.A**2)
没有并行化
%%time
first = df.progress_apply(trigono, axis=1)
没有并行化
%%time
first_parallel = df.parallel_apply(trigono, axis=1)
3、将列表中列表转换为列表
导入必要库
import itertools
建立一个列表
nested_list = [['Naina'], ['Alex', 'Rhody'], ['Sharron', 'Avarto', 'Grace']]
只需一步即可完成,转换如下
converted_list = list(itertools.chain.from_iterable(nested_list))
print(converted_list)
4、美化Dict
创建词典
l_dict = {'Student_ID': 4,'Student_name' : 'Naina', 'Class_Name': '12th' ,'Student_marks' : {'maths' : 92,'science' : 95,'computer science' : 100,'English' : 91}}
使用pprint美化字典
import pprint
pprint.pprint(l_dict)
5、反转字典
创建字典
l_dict = {'Person_Name':'Naina','Age' : 27,'Profession' : 'Software Engineer'}
反转字典
invert_dict = {values:keys for keys,values in l_dict.items()}
invert_dict
6、从文本中删除表情符号
Emoji_text = 'For example,
效率倍增!12 个必知必会的 Python 数据处理技巧!相关推荐
- [转载]企业网站建设必知必会
原文地址:企业网站建设必知必会作者:刘红杰 慧桥研发中心的同事常跟我提及我们有不少客户对网站建设和网站推广的基本概念还不是很清楚.三言两语一时又无法给客户解释清楚,经常造成沟通障碍.于是萌生写一些企业 ...
- 《MySQL必知必会》的读后感
<MySQL必知必会>的读后感 该文章是阅读<MySQL必知必会>这本书后的读后感,并且总结了这本书中的几个方面的笔记. 1 查询数据 注意SQL语句不区分大小写,因此 SEL ...
- 致Emacs初学者+Emacs初学者必知必会
原文链接:http://emacser.com/to-emacs-beginner.htm 需要专门花时间去学的软件为数不多, Emacs正是其中之一. 我周围的好多人在我的"鼓吹" ...
- 【系统分析师之路】系统分析师必知必会(需求分析篇)
[系统分析师之路]系统分析师必知必会(需求分析篇) 系统分析师必知必会 需求分析篇 [系统分析师之路]系统分析师必知必会(需求分析篇) 1.什么是软件需求 2. 需求分类 2.1)业务需求 2.2)用 ...
- MySQL必知必会笔记(一)基础知识和基本操作
第一章 了解MySQL 数据库 保存有组织的数据的容器.(通常是一个文件或一组文件) 人们经常使用数据库这个术语代替他们使用的软件.这是不正确的,确切的说,数据库软件应称为DBM ...
- 软件测试之MySQL数据库必知必会,面试必备
软件测试之MySQL数据库必知必会,面试必备! 一.前言 1.1 数据库概念及分类 1.2 SQL语句概念及分类 1.3 MySQL数据类型 二.常用SQL语句 2.1 数据库相关SQL 2.2 表相 ...
- MySQL必知必会 代码+说明 全书整理
前不久收获一本<mysql必知必会>实体书,这周得空将整本书再次回顾了下. 整理了书中全部的代码,加上了必要的语句说明. 我所使用的软件版本:mysql workbench 8.0.15 ...
- 读书笔记系列1——MySQL必知必会
读书笔记系列1--MySQL必知必会 文章目录 读书笔记系列1--MySQL必知必会 MySQL官方文档:https://dev.mysql.com/doc/ 第一章 数据库基础 *2021.11.2 ...
- 30 分钟读完《MySQL 必知必会》
第一章 了解 SQL 介绍几个数据库的概念 数据库(database) 通过DBMS创建和操纵的保存有组织的数据的容器(通常是一个文件或一组文件). 数据库软件/数据库管理系统(DBMS)访问数据库, ...
- SQL必知必会-进阶篇[SQL学习笔记]
本篇博客是对于陈旸老师极客专栏"SQL 必知必会"进阶篇的笔记总结.需要学习资料可私信. 文章目录 第20课 数据库优化 第21课 数据库的设计范式都有哪些? 数据表的键都有哪些? ...
最新文章
- ggThemeAssist:鼠标调整ggplot2主题,不用再记这些代码啦!
- ElasticSearch知识汇总
- Android Loader 异步加载详解一:基础概念
- 百度地图 开发 乡镇级区域显示_Tableau导入乡镇级地图进行数据展示
- 阮一峰react demo代码研究的学习笔记 - how is h1 got parsed - not answer
- 吴恩达 神经网络和深度学习 第一课 第四周(代码和库)
- mysql主从复制读写分离
- 《XNA游戏开发》简介
- 登录linux系统设置默认目录
- Shiro笔记(四)编码/加密
- 利用JavaScript实现在网页上图片上一张下一张的操作
- C#中MessageBox用法大全(附效果图)
- 努比亚 N2(Nubia NX575J) 解锁BootLoader 并进入临时recovery ROOT
- js两时间相减获得天数
- Qt设计精美的登录注册界面(包含SQLite数据库应用)
- linux下打开xls文件怎么打开方式,xls是什么文件格式?xls文件怎么打开?
- spring boot项目:用户中心的商品信息编辑功能
- Run-down Protection
- 已知两角及其夹边,解三角形
- 高通量测序数据质控神器Trimmomatic
热门文章