今天整理了几个在使用python进行数据分析的常用小技巧、命令。记得搭配Pandas+Jupyter Notebook使用哦。

01

使用Pandas  Profiling预览数据

这个神器我们在之前的文章中就详细讲过,使用Pandas  Profiling可以在进行数据分析之前对数据进行快速预览,拿我们使用过很多次的NBA数据集来说,导入数据集之后

import pandas as pd
import pandas_profiling
nba = pd.read_csv('nba_all_elo.csv') #导入数据nba.profile_report()

一行代码就生成丰富的交互式数据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读取的数据文件非常大的时候,如果直接一次性读取全部数据会出现内存不够用的情况,所以这时我们应该对该数据进行分批次读取,并处理每一批次然后保存每一批次的结果,最后对全部批次结果进行汇总。

import pandas as pd
data = pd.read_csv("data.csv",chunksize=10000) #chunksize是每一批次处理的数量
result = [] #用于储存结果
for chunk in data:#写一个函数处理每一个批次filter_result = chunk_manipulate(chunk)result.append(filter_result)
#合并所有批次
df = pd.concat(result)

END

来和小伙伴们一起向上生长呀~~~

扫描下方二维码,添加小詹微信,可领取千元大礼包并申请加入 Python学习交流群,群内仅供学术交流,日常互动,如果是想发推文、广告、砍价小程序的敬请绕道!一定记得备注「交流学习」,我会尽快通过好友申请哦!

(添加人数较多,请耐心等待)

(扫码回复 1024  即可领取IT资料包)

快速提高Python数据分析速度的八个技巧相关推荐

  1. 快速入门 Python 数据分析实用指南

    Python 现如今已成为数据分析和数据科学使用上的标准语言和标准平台之一.那么作为一个新手小白,该如何快速入门 Python 数据分析呢? 下面根据数据分析的一般工作流程,梳理了相关知识技能以及学习 ...

  2. identity_insert 如何改为on_十分钟教你如何快速提高Laya构建速度,还不快来康康?...

    前言 如何快速提高Laya构建速度 微信小游戏推出之后,很多公司也相应的进入到微信小游戏这个领域,现在市场上的游戏开发引擎,如Cocos.Egret.Laya都对小游戏有了很好的兼容性.而在实际开发中 ...

  3. iphone计算机如何打字速度,打字速度太慢了?教你几招快速提高iPhone打字速度

    原标题:打字速度太慢了?教你几招快速提高iPhone打字速度 你上一句回复还是打字中,对方已经将下一个问题发过来了,经常遇到这样的问题会不会很尴尬?很容易就出现对不上号的情况了,那我们要怎么提高iPh ...

  4. 图文并茂!60页PPT《快速入门python数据分析路线》(附链接)

    一个月不走弯路快速入门学python和python数据分析路线,呕心沥血加班加点做了2天,一共63页,该课件讲的都是路线中的核心知识,今天把该PPT分享给大家,能根据该课件提到的知识有针对性的学,做到 ...

  5. base环境卸载python_20小时快速学习python数据分析实践1——相关软件一系列安装和基本操作熟悉(第0-1h)...

    TED演讲"First 20 Hours-How to Learn Anything"中演讲者将快速学习一项新技能分成四个步骤--解析技能.掌握足够多的知识并且自我矫正.清楚学习中 ...

  6. 提高托福阅读速度的两大技巧

    提高托福阅读速度技巧:Skimming Skimming是只看主要大意的速读.一篇文章的大意是有重点的.比如,当出现first second的这种归类总结的地方,或because,as a resul ...

  7. 9个 value_counts() 的技巧,提高 Python 数据分析效率

    数据科学家通常将大部分时间花在探索和预处理数据上.当谈到数据分析和理解数据结构时,Pandas value_counts() 是最受欢迎的函数之一.该函数返回一个包含唯一值计数的系列.生成的Serie ...

  8. 老鱼Python数据分析——篇十八:消息推送(一)

    需求分析 这两天想把分析处理之后的数据,做一个定时发送,按照自己设想和百度搜索,发现有以下几种办法.(只是我发现比较大众化的办法,不代表只有这几种方法) 发送邮件 QQ机器人 微信机器人 极光API ...

  9. pandas追加写入excel_快速介绍Python数据分析库pandas的基础知识和代码示例

    "软件工程师阅读教科书作为参考时不会记住所有的东西,但是要知道如何快速查找重·要的知识点." 为了能够快速查找和使用功能,使我们在进行机器学习模型时能够达到一定流程化.我创建了这个 ...

最新文章

  1. bartlett方差齐性检验_R语言实用教程-数据正态性以及方差齐性检验
  2. NuttX 启动流程
  3. 算法工程师的冰与火之歌
  4. 如何更新linux系统时间
  5. Android 常用adb shell 命令(转)
  6. 八 关于电机驱动芯片L298N使用心得
  7. 一秒实现免费下载百度文库资料的方法
  8. C4D动力学边界是什么意思?
  9. SIGIR 2022 | 港大等提出超图对比学习在推荐系统中的应用
  10. H5页面调用微信扫一扫
  11. 京东程序员压力太大在网页植入骂人代码?网友:。。。
  12. SQL Server 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作
  13. 请教PCI卡的DMA方式问题
  14. 小蘑菇也有很大力量,他通过种植蘑菇致富,如何成功?
  15. ​20X44 FCPX模板电影胶片滚动回忆照片相册图文展示动画 Move Time
  16. ddr5和ddr4的区别 ddr5和ddr4性能差别
  17. switch-case的使用
  18. JavaScript实现阿拉伯数字转中文数字
  19. python截取视频_python使用ffmpeg截取视频段
  20. c语言中用age表示年龄的词语,age和aged表示年龄的用法区别

热门文章

  1. thinkphp5.0 使用paginate 分页后 foreach 循环体内不能处理数据的解决办法
  2. shell模拟php多进程从redis获取数据(一个库多个key值)
  3. 反思响应json字符串的优化写法
  4. Swoole之I/O操作
  5. Linux之CentOS安装composer与git
  6. html表单php连接mysql数据库,PHP 连接MySQL数据库
  7. 解决ERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/m
  8. Spring全家桶中的日志框架
  9. 以下描述中不属于python语言控制结构的是_高中信息技术《Python语言》模块试卷...
  10. python英文语义角色标注_八款中文词性标注工具使用及在线测试