最近小爬我为了提升数据分析这块儿的技能,学习了pandas库作者Wes Mckinney的数据分析经典书籍《利用Python进行数据分析》,受益良多!里面涉及到Python语言基础、还有编程利器Ipython、Jupyter notebook的使用小技巧,数组分析工具Numpy以及pandas的基础入门和深入知识,甚至还包含绘图与可视化的相关知识。在学习过程中,小爬深刻感受到:工欲善其事必先利其器。有了好的工具加持,数据分析不再是难事!

小爬先说说之前不知道但在该书中提到的Ipython的一些技巧:

1、Tab补全

相较于标准python命令行,Ipython的提升之一就是tab补全功能。当在命令行输入表达式时,按下Tab键即可为任意变量(对象、函数等)搜索命名空间,与当前已输入的字符进行匹配:

  

Tab补全 在其他很多上下文场景中也有用。当输入任意路径时,按下Tab键将补全你的计算机文件系统中匹配你输入内容的值:

2、内省

在一个变量名的前后使用问号(?)可以显示一些关于该对象的重要信息:

比如我们想知道print函数的用法,就可以这样操作:

假设有这么一个函数:

def  add_numbers(a,b):
  """
  Add two numbers together
  Returns
  -------
  the_sum:type of arguments
  """
  return a+b
 
使用?来显示文档字符串:

使用双问号甚至可以显示函数的源代码:

3、%run命令

可以在Ipython会话中使用%run命令运行任意的python程序文件,如:

4、中断运行中的代码

在任意代码运行时按下Ctrl-C,无论脚本运行到哪一步,都会引起keyboardInterrupt。除了一些特殊情况,这导致所有的python程序立即停止运行。

5、Ipython的常见快捷键

- Ctrl-P 或上箭头键   后向搜索命令历史中以当前输入的文本开头的命令
- Ctrl-N 或下箭头键   前向搜索命令历史中以当前输入的文本开头的命令
- Ctrl-R          按行读取的反向历史搜索(部分匹配)
- Ctrl-Shift-v      从剪贴板粘贴文本
- Ctrl-C        中止当前正在执行的代码
- Ctrl-A        将光标移动到行首
- Ctrl-E        将光标移动到行尾
- Ctrl-K        删除从光标开始至行尾的文本
- Ctrl-U        清除当前行的所有文本译注12
- Ctrl-F        将光标向前移动一个字符
- Ctrl-b        将光标向后移动一个字符
- Ctrl-L        清屏

  小爬再来说说Pandas,它所包含的数据结构和数据处理工具的设计使得在python中进行数据清洗和分析异常方便和快捷。

我们一般这样导入Pandas:

import pandas as pd

pandas中有两个非常有名的类Series Dataframe,如果只想导入这两个类,可以这样:

from pandas import Series,Dataframe


1、Series

Series是一维数组对象,它包含一个值序列,并且含数据标签,称为索引(Index):

我们可以通过values属性和Index属性分别获得Series对象的值和索引:

我们可以基于条件查找特定值:

它也可以逐元素进行简单运算:

我们还可以这样作逻辑判断:

我们甚至可以根据python字典快速生成一个Series对象:

我们还可以用一个列表对象当成参数传给series对象当作索引(元素个数必须一致)

Series的索引可以通过按位置赋值的方式进行改变:

2、Dataframe

Dataframe表示的是矩阵的数据表,它包含已排序的列集合,每一列可以是不同的值类型,这跟我们熟悉的excel工作表太像了,所以很多原本用Excel来作的数据分析就可以使用Dataframe来处理,毕竟它的运算速度堪比数据库sql语句,比一般的excel计算快不少。

我们有多种方法去创建DataFrame,最常用的方法是利用包含等长度列表或Numpy数组的字典来生成DataFrame,产生的DataFrame会自动为Series分配索引,并且列会按照排序的顺序排列:

对于大型DataFrame,head方法将会只选出头部的五行:

 如果你指定了列的顺序,DataFrame的列会按照指定顺序排列:

我们可以指定DataFrame的索引:

DataFrame中的一列,可以将字典型标记或属性那样检索为Series:

  

我们也可以用df[字段名]表示法:

  

del方法可以用于移除之前新建的列:

mark,后续会再记录更多的pandas使用心得,并应用到实际的项目中!

利用pandas、Ipython来简化数据分析过程的更多相关文章

  1. 利用sklearn的Pipeline简化建模过程

    很多框架都会提供一种Pipeline的机制,通过封装一系列操作的流程,调用时按计划执行即可.比如netty中有ChannelPipeline,TensorFlow的计算图也是如此. 下面简要介绍skl ...

  2. Python利用pandas处理Excel数据的应用

    Python利用pandas处理Excel数据的应用   最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...

  3. Ice笔记-利用Ice::Application类简化Ice应用

    Ice笔记-利用Ice::Application类简化Ice应用 作者:ydogg,转载请申明. 在编写Ice相关应用时,无论是Client还是Server端,都必须进行一些必要的动作,如:Ice通信 ...

  4. 利用pandas库中的read_html方法快速抓取网页中常见的表格型数据

    本文转载自:https://www.makcyun.top/web_scraping_withpython2.html 需要学习的地方: (1)read_html的用法 作用:快速获取在html中页面 ...

  5. python-数据描述与分析2(利用Pandas处理数据 缺失值的处理 数据库的使用)

    2.利用Pandas处理数据2.1 汇总计算当我们知道如何加载数据后,接下来就是如何处理数据,虽然之前的赋值计算也是一种计算,但是如果Pandas的作用就停留在此,那我们也许只是看到了它的冰山一角,它 ...

  6. (数据科学学习手札63)利用pandas读写HDF5文件

    一.简介 HDF5(Hierarchical Data Formal)是用于存储大规模数值数据的较为理想的存储格式,文件后缀名为h5,存储读取速度非常快,且可在文件内部按照明确的层次存储数据,同一个H ...

  7. 利用 pandas库读取excel表格数据

    利用 pandas库读取excel表格数据 初入IT行业,愿与大家一起学习,共同进步,有问题请指出!! 还在为数据读取而头疼呢,请看下方简洁介绍: 数据来源为国家统计局网站下载: 具体方法 代码: i ...

  8. 利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图、折线图、饼图

    利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图.折线图.饼图 数据: 折线图代码: import  pandas  as pdimport  matplotlib. ...

  9. 利用pandas选取某个属性符合指定条件的所有行

    最近遇到利用pandas选取指定行的需求,经常忘记,在此做下记录 选取某个属性等于特定值的所有行记录 df[(df[‘column_name’] == target_value)] 注:等于用 '== ...

随机推荐

  1. 【Leetcode链表】两两交换链表中的节点(24)

    题目 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表.你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2->3->4, 你应该返回 2- ...

  2. WebLogic Server再曝高风险远程命令执行0day漏洞,阿里云WAF支持免费应急服务

    6月11日,阿里云安全团队发现WebLogic CVE-2019-2725补丁绕过的0day漏洞,并第一时间上报Oracle官方, 6月12日获得Oracle官方确认.由于Oracle尚未发布官方补丁 ...

  3. @bzoj - 2395@ [Balkan 2011]Timeismoney

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 有n个城市(编号从0..n-1),m条公路(双向的),从中选择n ...

  4. 2019-2-11-WPF-获取应用的所有窗口

    title author date CreateTime categories WPF 获取应用的所有窗口 lindexi 2019-02-11 08:55:31 +0800 2019-02-11 0 ...

  5. Python关键点常识

    关键点常识 Python的发音与拼写 Python的作者是Guido van Rossum(龟叔) Python正式诞生于1991年 Python的解释器如今有多个语言实现,我们常用的是CPython ...

  6. JS的作用域链与this指向

    JS的作用域链是在函数创建时创建的.而this对象是在函数运行期间绑定的. 下面看几个例子,说明JS的作用域链和this是两套分离的链. 1) var name = 'window下的name< ...

  7. form组件类 钩子函数验证

    # 全局钩子 def clean(self): pwd = self.cleaned_data.get("password") re_pwd = self.cleaned_data ...

  8. win10 uwp xaml 绑定接口

    本文告诉大家如何在 xaml 绑定属性使用显式继承接口 早上快乐 就在你的心问了我一个问题,他使用的属性是显式继承,但是无法在xaml绑定 我写了简单的代码,一个接口和属性 public class ...

  9. pytorch nn.LSTM()参数详解

    输入数据格式:input(seq_len, batch, input_size)h0(num_layers * num_directions, batch, hidden_size)c0(num_la ...

  10. [转]UEditor编辑器两个版本任意文件上传漏洞分析

    0x01 前言 UEditor是由百度WEB前端研发部开发的所见即所得的开源富文本编辑器,具有轻量.可定制.用户体验优秀等特点 ,被广大WEB应用程序所使用:本次爆出的高危漏洞属于.NET版本,其它的 ...