最近小爬我为了提高数据分析这块儿的技能,学习了pandas库做者Wes Mckinney的数据分析经典书籍《利用Python进行数据分析》,受益良多!里面涉及到Python语言基础、还有编程利器Ipython、Jupyter notebook的使用小技巧,数组分析工具Numpy以及pandas的基础入门和深刻知识,甚至还包含绘图与可视化的相关知识。在学习过程当中,小爬深入感觉到:工欲善其事必先利其器。有了好的工具加持,数据分析再也不是难事!python
小爬先说说以前不知道但在该书中提到的Ipython的一些技巧:sql
一、Tab补全数据库
相较于标准python命令行,Ipython的提高之一就是tab补全功能。当在命令行输入表达式时,按下Tab键便可为任意变量(对象、函数等)搜索命名空间,与当前已输入的字符进行匹配:编程
Tab补全 在其余不少上下文场景中也有用。当输入任意路径时,按下Tab键将补全你的计算机文件系统中匹配你输入内容的值:数组
二、内省数据结构
在一个变量名的先后使用问号(?)能够显示一些关于该对象的重要信息:函数
好比咱们想知道print函数的用法,就能够这样操做:工具
假设有这么一个函数:学习
使用双问号甚至能够显示函数的源代码:spa
三、%run命令
能够在Ipython会话中使用%run命令运行任意的python程序文件,如:
四、中断运行中的代码
在任意代码运行时按下Ctrl-C,不管脚本运行到哪一步,都会引发keyboardInterrupt。除了一些特殊状况,这致使全部的python程序当即中止运行。
五、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
一、Series
Series是一维数组对象,它包含一个值序列,而且含数据标签,称为索引(Index):
咱们能够经过values属性和Index属性分别得到Series对象的值和索引:
咱们能够基于条件查找特定值:
它也能够逐元素进行简单运算:
咱们还能够这样做逻辑判断:
咱们甚至能够根据python字典快速生成一个Series对象:
咱们还能够用一个列表对象当成参数传给series对象看成索引(元素个数必须一致)
Series的索引能够经过按位置赋值的方式进行改变:
二、Dataframe
Dataframe表示的是矩阵的数据表,它包含已排序的列集合,每一列能够是不一样的值类型,这跟咱们熟悉的excel工做表太像了,因此不少本来用Excel来做的数据分析就可使用Dataframe来处理,毕竟它的运算速度堪比数据库sql语句,比通常的excel计算快很多。
咱们有多种方法去建立DataFrame,最经常使用的方法是利用包含等长度列表或Numpy数组的字典来生成DataFrame,产生的DataFrame会自动为Series分配索引,而且列会按照排序的顺序排列:
对于大型DataFrame,head方法将会只选出头部的五行:
咱们能够指定DataFrame的索引:
DataFrame中的一列,能够将字典型标记或属性那样检索为Series:
咱们也能够用df[字段名]表示法:
del方法能够用于移除以前新建的列:
mark,后续会再记录更多的pandas使用心得,并应用到实际的项目中!