python_数据分析_笔记碎碎念

1、数据聚合与分组计算

1、根据一个或多个键(可以是函数、数组或DataFrame列名)拆分pandas对象
2、计算分组摘要统计,如计数、平均值、标准差,或用户自定义函数
3、对DataFrame的列应用各种各样的函数
4、应用组内转换或其他运算,如规格化、线性回归、排名或选取子集等
5、计算透视表或交叉表
6、执行分位数分析以及其他分组分析

2、dataFrame.ix[]先行索引,后列

行优先:从高维度开始
列优先:从低维度开始

concatenate([],axis=1)==hstack()==np.r_[]
vstack dstack np.c_
split

广播原则:如果两个数组的后缘维度(从末尾开始算起的维度)的轴长度相符或其中一方的长度为1,则认为它们是广播兼容的。广播会在缺失和长度为1的维度上进行。

3、结构化数组的另一个常见用法:

将数据文件写成定长记录字节流。只要知道文件的格式(记录的大小、元素顺序、字节数以及数据类型等),就可以使用np.fromfile将数据读入内存
内存映射,它使你能处理内存中放不下的数据集

4、numpy使用原则:

1、将python循环和条件逻辑转换为数组运算和布尔数组运算
2、尽量使用广播
3、避免复制数据,尽量使用数据视图(即切片)
4、利用ufunc及其各种方法

考虑C、cpython来提升性能

numpy注意点:
astype无论如何都会创建出一个新的数组
浮点数,比较操作只能在一定小数位以内有效
显式复制:copy
花式索引,指利用整数数组进行索引,将数据复制到新数组中

设置省略显示的门槛:

np.set_printoptions(threshold=100)

5、时间序列的基础频率:

D H S L U 天 小时 分 秒 毫秒 微秒
WOM-3FRI

p=pd.Period('2014Q4',freq='Q-JAN')
获取该季度倒数第二个工作日下午4点的时间戳
p4pm=(p.asfreq('B','e')-1).asfreq('T','s')+16*60

升表示,频率变细,变多
在降采样中,目标频率必须是源频率的子时期
在升采样中,目标频率必须是源频率的超时期

read_csv,解析日期read_csv,parse_dates=True

移动窗口函数:
close_px.rolling(window=60,min_periods=30).quantile(90)

自定义窗口函数:要能从数组的某个片段中产生某个值

6、获取数据(书本练习中需要)

from pandas_datareader import data as web

你可能感兴趣的:(技术专题,程序员心得)