【python】《利用python进行数据分析》笔记
【第三章】ipython
C-a 到行首
C-e 到行尾
%timeit 测量语句时间,%time是一次,%timeit是多次。
%pdb是自动调试的开关。
%debug中,可以用b 12在第12行设置断点,n是执行当前行并进入下一行,
set_trace和debug函数也比较好用。 from IPython.core.debugger import Pdb
逐行分析函数性能:基于line_profiler的应用!在~/.ipython/profile_default/ipython_config.py 中添加 c.TerminalIPythonApp.extensions = ['line_profiler']
即可使用魔法命令%lprun 逐行分析函数的性能,调用语法为
%lprun -f func1 -f func2 statement_to_profile
【第四章】numpy
切片赋值可以用矢量或者标量,标量采用了广播机制。
布尔索引!True False可以用来切片,也可以和其他切片方式混用。两个布尔索引可以对应的,比如df[con1] = df2[con]是成立的。
df[:2][1:] = np.nan也是原数据上修改。
花式索引就是df[[2,3,4,1], :]这种,花式索引每次都是复制新数据!两维都花式索引比较难,需要df[[0,1]][:, [0,1]]这样,或者df[df.ix_([0,1],[0,1])]
np.where是x if con else y的矢量化版本。np.where(con=TrueFalseArray, x, y)。x, y可以是与con一样size的矢量,也可以是标量
和&,或|,非-(负号)。
np.sort返回已排序副本,就地排序会修改数组本身
arr.unique()与sorted(set())输出相似, in1d(target, base)测试成员资格,unique(x), intersect1d(x, y), ...这些都是集合运算
【第五章】pandas
有特殊的Index类,index对象不可修改,有 is_monotonic 和 is_unique 方法 。series.reindex(index)根据新的index进行重排
apply方法(输入某个函数),按照行或者按照列进行计算
默认排除na值,使用skipna=False禁用
reindex和set_index,
【第六章】数据加载
对于没有列名的csv, 两个方法header=None, names=[]
其中一列当作index, names=[xx, 'message',xx, xx, xx], index_col='message'
【第七章】数据规整化:清理、转换、合并、重塑\
pd.merge 根据一个或者多个键连接record
如果两边键相同,通过on指定,如果键不同,通过left_on, right_on指定。
通过how可以指定连接方式,默认是交集inner,可以选择left, right, outer
combine_first: 填补缺失数据的方法
【第九章】数据聚合与分组运算
groupby是一种分组运算的方法,包含三个步骤:拆分-应用-合并
1、拆分:按照某个键将数据分类:data.groupby(key)
2、应用、合并:将某个函数应用并且计算grp.mean(), grp.agg(func)
【第十章】时间序列
按天group
df.index = pd.to_datetime(df.index)
df.groupby(pd.TimeGrouper('D'))
取每天的同一时间
df.loc[datetime.time(9, 30)]
按每天的同一时间group
data.groupby(data.index.time)
【python】《利用python进行数据分析》笔记的更多相关文章
- Python笔记之不可不练
如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...
- boost.python笔记
boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...
- 20.Python笔记之SqlAlchemy使用
Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...
- Python笔记——类定义
Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...
- 13.python笔记之pyyaml模块
Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...
- 8.python笔记之面向对象基础
title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...
- python笔记 - day8
python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...
- python笔记 - day7-1 之面向对象编程
python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...
- python笔记 - day7
python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...
- python笔记 - day6
python笔记 - day6 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 大纲: 利用递归,实现阶乘: Python反射 pyt ...
随机推荐
- Taking a screen shot of a window using Delphi code is rather easy.
Taking a screen shot of a window using Delphi code is rather easy. A screen shot (screen capture) is ...
- s5_day14作业
import re # 1. 匹配一段文本中的每行的邮箱 # ret=re.findall('\w+@\w+\.com','10000@qq.com,qwe48645313@163.com') # p ...
- spring boot Rabbitmq集成,延时消息队列实现
本篇主要记录Spring boot 集成Rabbitmq,分为两部分, 第一部分为创建普通消息队列, 第二部分为延时消息队列实现: spring boot提供对mq消息队列支持amqp相关包,引入即可 ...
- react className 样式控制
1.<div className={ "formbox " + this.state.classArr }></div> 2. this.state.cla ...
- adas--智能驾驶辅助系统
先进驾驶辅助系统(Advanced Driver AssistantSystem),简称ADAS,是利用安装于车上的各式各样的传感器(可侦测光.热.压力等变数), 在第一时间收集车内外的环境数据, 进 ...
- sql临时表的优点
1: 临时表来组织数据,更高效的查询速度. 2:临时表的操作不会写入日志文件:好处:提高了 临时表操作的速度:坏处: 数据一旦丢失,无法恢复. 3: 临时表只允许当前会话框进行访问,因此不会担心死锁 ...
- 理解 $nextTick 的作用
有同学在看 Vue 官方文档时,对 API 文档中的 Vue.nextTick 和 vm.$nextTick 的作用不太理解. 其实如果看一下深入响应式原理 - vue.js中的有关内容,可能会有所理 ...
- Spark1.x和2.x如何读取和写入csv文件
看很多资料,很少有讲怎么去操作读写csv文件的,我也查了一些.很多博客都是很老的方法,还有好多转来转去的,复制粘贴都不能看.下面我在这里归纳一下,以免以后用到时再费时间去查.前端实现文件下载和拖拽上传 ...
- 2018-2019-2 20165114《网络对抗技术》Exp4 恶意代码分析
Exp4 恶意代码分析 目录 一.实验目标 (1)监控你自己系统的运行状态,看有没有可疑的程序在运行. (2)分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sys ...
- Centos 6\7 防火墙入门配置
Centos 6 -- iptables iptables 用法: iptables (选项) (参数) 选项: -t<表>:指定要操纵的表: -A:向规则链中添加条目: -D:从规则链中 ...