今天整理了几个在使用python进行数据分析的常用小技巧、命令。
提高Python数据分析速度的八个小技巧
01
使用Pandas Profiling预览数据
这个神器我们在之前的文章中就详细讲过,使用Pandas Profiling可以在进行数据分析之前对数据进行快速预览,拿我们使用过很多次的NBA数据集来说,导入数据集之后
一行代码就生成丰富的交互式数据EDA报告
可以看到,除了之前我们需要的一些描述性统计数据,该报告还包含以下信息:
- 类型推断:检测数据帧中列的数据类型。
- 要点:类型,唯一值,缺失值
- 分位数统计信息,例如最小值,Q1,中位数,Q3,最大值,范围,四分位数范围
- 描述性统计数据,例如均值,众数,标准偏差,总和,中位数绝对偏差,变异系数,峰度,偏度
- 最常使用的值
- 直方图
- 相关性矩阵
- 缺失值矩阵,计数,热图和缺失值树状图
- 文本分析:了解文本数据的类别(大写,空格),脚本(拉丁,西里尔字母)和块(ASCII)
02
使用cufflinks绘制图表
上一个神器Pandas Profiling可以快速帮助我们预览数据,那么这个神器cufflinks可以帮我们直接使用DataFrame快速绘制交互式图表。就像seaborn封装了matplotlib一样,cufflinks在plotly的基础上做了一进一步的包装,方法统一,参数配置简单。
对pandas熟悉的同学可能知道pandas可以直接调用.plot()绘图,我们来看看
df.plot()
如果使用cufflinks来绘制,也是一行代码
df.iplot()
是不是交互式的图表更得人心?当然还可以直接使用DataFrame绘制其他复杂的图表
如果在数据分析工作中经常需要数据可视化的话就考虑使用cufflinks吧!
03
使用notebook的Magic命令
Magic命令是Jupyter notebook中的一组便捷功能,数熟练使用该命令可以解决数据分析中的一些常见问题。使用%lsmagic就可以查看所有的Magic命令,下面我们介绍几个常用的
%store:在不同notebook间传递变量
不知道大家有没有经历过在一个notebook中进行数据预处理数据清洗等相关工作,在另一个notebook中进行可视化相关工作,那么怎样在绘图时直接调用另一个notebook中的数据呢?使用%store就可以轻松解决
%store 变量 #保存变量
%store -r 变量 #在另一个notebook中调用变量
%who:列出全部变量
在大型数据分析过程中,你是否遇到过忘记定义了哪些变量或者忘记某个变量是否赋值还是忘记了变量名甚至删除了赋值语句。没关系使用%who命令可以列出这个notebook中的全部变量
%debug:交互式调试
有时候我们写了一大段代码执行发现报错,这时调试是比较痛苦的,那么我们可以在新的一行中键入%debug并运行。这将打开一个交互式调试环境,它能直接定位到发生异常的位置。还可以检查程序中分配的变量值,并在此处执行操作
notebook的magic命令还有很多就不一一介绍,如果感兴趣可以自己查询使用或者关注公众号『早起python』后续文章。
04
使用jupyter快捷键
Jupyter作为生成嵌入式代码的优秀编辑器自带了很多快捷键,熟练使用快捷键将会省去很多繁琐的鼠标点击操作,可以使用Cmd + Shift + P或Ctrl + Shift + P在Linux和Windows上查看有哪些快捷键。
常用的比如
Tab : 代码补全或缩进
Shift-Tab : 提示
Ctrl-] : 缩进
Ctrl-[ : 解除缩进
Ctrl-Home : 跳到单元开头
Ctrl-Up : 跳到单元开头
Ctrl-End : 跳到单元末尾
Ctrl-Down : 跳到单元末尾
Ctrl-Left : 跳到左边一个字首
Ctrl-Right : 跳到右边一个字首
05
使用pprint
pprint 是pretty printer 的缩写,用来打印 Python 数据结构,与 print 相比,它打印出来的结构更加整齐,便于阅读。
先来看看print
再来看看pprint,是不是打印出来更加方便阅读
06
掌握多种处理异常值方法
在使用python进行数据分析时,如果数据集中出现缺失值、空值、异常值,那么数据清洗就是尤为重要的一步。因此掌握多种使用python处理异常值处理的方法,并在开始数据分析之前对异常值进行预处理会大大提升数据分析效率。
例如,将丢失的数据替换为'*'。我们可以使用.fillna('*') 将所有缺失值替换为*,或者data.fillna(axis=1,method='ffill')来横向/纵向用缺失值前面的值替换缺失值,那么更多的异常值处理方法可以参阅python数据分析之清洗数据:缺失值处理
07
使用-i执行python脚本
我们都知道在命令行执行python脚本可以使用python filename.py,而我推荐使用python -i filename.py去执行python脚本,因为这样在脚本执行完毕之后,python不会退出编译器。从而我们可以检查变量的值或继续进行操作。
而如果我们的代码发生了报错的话,该命令会直接定位到代码发生异常的位置,然后我们可以更方便的去处理代码,我们来看看
08
分批读取数据
有时当我们使用pandas读取的数据文件非常大的时候,如果直接一次性读取全部数据会出现内存不够用的情况,所以这时我们应该对该数据进行分批次读取,并处理每一批次然后保存每一批次的结果,最后对全部批次结果进行汇总。
如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的Python教程。获取方式,私信小编 “ 资料 ”,即可免费获取哦!
今天整理了几个在使用python进行数据分析的常用小技巧、命令。的更多相关文章
- Python爬虫简单入门及小技巧
刚刚申请博客,内心激动万分.于是为了扩充一下分类,随便一个随笔,也为了怕忘记新学的东西由于博主十分怠惰,所以本文并不包含安装python(以及各种模块)和python语法. 目标 前几天上B站时看到一 ...
- 10个Python 初学者必知编码小技巧
技巧 #1 字符串翻转 >>> a = "codementor" >>> print "Reverse is" ...
- python和django的一些小技巧(locals()...)
locals() 技巧: 思考一下我们对 current_datetime 的最后一次赋值: >>> import datetime >>> def current ...
- 教你一招,提升你Python代码的可读性,小技巧
Python的初学者,开发者都应该知道的代码可读性提高技巧,本篇主要介绍了如下内容: PEP 8是什么以及它存在的原因 为什么你应该编写符合PEP 8标准的代码 如何编写符合PEP 8的代码 为什么我 ...
- Python爬虫常用小技巧之设置代理IP
设置代理IP的原因 我们在使用Python爬虫爬取一个网站时,通常会频繁访问该网站.假如一个网站它会检测某一段时间某个IP的访问次数,如果访问次数过多,它会禁止你的访问.所以你可以设置一些代理服务器来 ...
- 让你的python代码优雅地道的小技巧
转载地址:http://www.lightxue.com/transforming-code-into-beautiful-idiomatic-python 用了python这么久,逐渐才了解到pyt ...
- python 程序双击执行的小技巧
文章更新于:2020-04-03 按照惯例,需要的文件附上链接放在文首. 文件名:ICOFX图标制作软件.7z 文件大小:40.2 MB 下载链接:https://www.lanzous.com/ia ...
- 10 个 Python 初学者必知编码小技巧
技巧 #1 字符串翻转 a = "codementor">>> print "Reverse is",a[::-1]翻转后的结果为 rotne ...
- 一小部分用python进行MD5加密的小技巧
上个图 要求计算出开头为ae3da且盐值为3c6e的字符串 简单的思路就是直接进行枚举,然后筛选符合条件的MD5加密字符,代码如下 #-*- coding:utf- -*- import hashli ...
随机推荐
- 采用C++实现哈夫曼树的创建并输出哈夫曼编码
一.这篇随笔来自一道信息论的作业题,因为手动编码过于复杂,所以想到了编程解决,原题目如下图所示: 二.源代码如下: #include <iostream> #include <str ...
- ES6的Array.from()和Array.fill()方法
今天处理数据时用到了Array.from()和Array.fill()方法,平时用的不多,这里记一下. 我的需求是要把字符串'abc',处理为[{exaple: 'abc_001.bcd'}, {ex ...
- javascript正则表达式入门先了解这些
前言 此内容由学习<JavaScript正则表达式迷你书(1.1版)>整理而来(于2020年3月30日看完).此外还参考了MDN上关于Regex和String的相关内容,还有ECMAScr ...
- react 周期函数
1.constructor():构造函数执行时间:组件被加载前最先调用,并且仅调用一次作用:定义状态机变量注意:第一个语句必须是super(props),正确定义状态机代码如下constructor( ...
- Fedora20在神州战神K650D1安装过程,使用netinstall和Dvd.iso镜像安装。
最近新买一笔记本,神州战神K650D-i5 D1.仍旧安装双系统,WIndows7+Fedora20.磁盘分区是这样的: 第一主分区 /boot ext4 20G 第二主分区 / ext4 70G 第 ...
- js事件的获取
获取元素样式属性 Method DES clientWidth 获取元素宽度 clientHeight 获取元素高度(内容+内边距) document.body.clientWidth 获取body宽 ...
- Codeforces 杂题集 2.0
记录一些没有写在其他随笔中的 Codeforces 杂题, 以 Problemset 题号排序 1326D2 - Prefix-Suffix Palindrome (Hard version) ...
- [白话解析] 通俗解析集成学习之bagging,boosting & 随机森林
[白话解析] 通俗解析集成学习之bagging,boosting & 随机森林 0x00 摘要 本文将尽量使用通俗易懂的方式,尽可能不涉及数学公式,而是从整体的思路上来看,运用感性直觉的思考来 ...
- NCEP CFSR数据下载
一.简介 CFSR(Climate Forecast SystemReanalysis)再分析资料使用了 GEOS-5(Goddard EarthObserving System)大气模式与资料同化系 ...
- Mac LaTex中文环境搭建
为了在博客上写公式,折腾了一晚上Mac上的LaTex的环境搭建,本文对步骤进行记录. 系统:Mac OSX 10.10.5 软件准备 1) MacTex 2015 Distribution (Tex的 ...