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