前言:以前把这本书当工具书差不多都看了一遍,现在回顾一下。
第四章NumPy基础:数组和矢量计算;第12章NumPy高级应用
用的不多,没什么好总结的。工具书看一遍就行了,工作遇到不会的查资料就行了。
切片 array[:,:] array[][] 数组切片是原始数组的视图,视图上的任何修改都会直接反映到源数据。
花式索引 array[[],[]]
花式索引和切片混合使用
Numpy高级应用就算了,没怎用过
第五章pandas入门;第七章数据规整化:清理、转化、合并、重塑;第九章数据聚合与分组运算
DataFrame分开来就是索引对象和数值
修改行(列)索引:reindex(),set_index(),reset_index()
选取:obj.loc[],obj.iloc[],obj.ix[]
函数应用:obj.apply() x对应的是列(行) f = lambda x:x.max()-xmin()
obj.applymap() x对应的是每个元素 f = lambda x: '%.2f'%x
处理缺失数据:obj.dropna(),obj.fillna(),obj.isnull(),obj.notnull()
层次化索引:stack(),unstack()
合并数据集:merge(),join(),concat()
移除重复数据:drop_duplicates()
替换值:replace()
离散化和面元划分:cut(),qcut()
GroupBy技术 分组键可以有多种形式:列表或数组,其长度与待分组的轴一样
表示DataFrame某个列名的值
字典或Series,给出待分组轴上的值与分组名之间的对应关系
函数,用于处理轴索引或索引中的各个标签
面向列的多函数应用:agg()
面向片段的函数应用:apply()
第六章数据加载、存储与文件格式
总的来说,用的较多的就几个函数,具体用法在IDE中也能查到。pd.real_csv(),pd.DataFrame.to_csv(),pd.read_sql(),pd.DataFrame.to_sql()。还有就是一些简单的SQL语句。
第八章绘图和可视化
matplotlib.use(arg, warn=False, force=True) #设置matplotlib的后端
目前的标准后端有两种:
interactive backends(interface backend): GTK3Agg, GTK3Cairo, MacOSX, nbAgg, Qt4Agg, Qt4Cairo, Qt5Agg, Qt5Cairo, TkAgg, TkCairo, WebAgg, WX, WXAgg, WXCairo。跟显示到屏幕有关
non-interactive backends(hardcopy backend): agg, cairo, pdf, pgf, ps, svg, template。跟写入到文件有关
最后弄懂下面这张图就够了。一些具体的绘图技巧参考官网https://matplotlib.org/tutorials/index.html
第十章时间序列
有些平常用的不多,但感觉以后会用到
时间戳(timestamp),特定的时刻
固定时期(period),如2010年全年
时间间隔(interval),由起始和结束时间戳表示
模块 time
datetime date (年、月、日)
time (时、分、秒、毫秒)
datetime (时间和日期)
timedelta (表示两个datetime值之间的差。日、秒、毫秒)
索引、选取、子集构造 比较特殊的是:ts[x],x可以是字符串日期、datetime或Timestamp
带有重复索引的时间序列 is_unique()
生成日期范围;频率和日期偏移量 date_range()
移动数据 shift()
按季度计算的时期频率 period_range()
将Timestamp转换为Period(及其反向过程) to_period();to_timestamp()
重采样及频率转换,包括降采样和升采样 resample()
时间序列绘图 ts.ix['2009'].plot() 便捷的选定时期
用户自定义的移动窗口函数 rolling_apply()