借着别人的文章(王圣元 [王的机器] ),复盘一下python的基础知识点。感谢原作者的分享!
Pandas 用的比较多,这里只作大纲回顾
Pandas 里面的数据结构是多维数据表,细化为一维的 Series,二维的 DataFrame。
多维数据表 = 多维数组 + 描述
其中
Series = 1darray + index
DataFrame = 2darray + index + columns
【创建数据表】创建 Series, DataFrame, Panel 用下面语句
pd.Series(x, index=idx)
pd.DataFrame(x, index=idx, columns=col)
pd.Panel(x, item=itm, major_axis=n1, minor_axis=n2)
DataFrame 由多个 Series 组成,Panel 有多个 DataFrame 组成。Series 非常类似于一维的 DataFrame。
【索引和切片数据表】在索引或切片 DataFrame,有很多种方法。最好记的而不易出错的是用基于位置的 at 和 loc,和基于标签的 iat 和 iloc,具体来说,索引用 at 和 iat,切片用 loc 和 iloc。带 i 的基于位置,不带 i 的基于标签。
用 MultiIndex 可以创建多层索引的对象,获取 DataFrame df 的信息可用
df.loc[1st].loc[2nd]
df.loc[1st].iloc[2nd]
df.iloc[1st].loc[2nd]
df.iloc[1st].iloc[2nd]
要调换 level 可用
df.index.swaplevel(0,1)
df.columns.swaplevel(0,1)
要设置和重设 index 可用
df.set_index( columns )
df.reset_index
【合并数据表】用 merge 函数按数据表的共有列进行左/右/内/外合并。
【连接数据表】用 concat 函数对 Series 和 DataFrame 沿着不同轴连接。
【重塑数据表】用 stack 函数将「列索引」变成「行索引」,用 unstack 函数将「行索引」变成「列索引」。它们只是改变数据表的布局和展示方式而已。
【透视数据表】用 pivot 函数将「一张长表」变成「多张宽表」,用 melt 函数将「多张宽表」变成「一张长表」。它们只是改变数据表的布局和展示方式而已。
【分组数据表】用 groupBy 函数按不同「列索引」下的值分组。一个「列索引」或多个「列索引」就可以。
【整合数据表】用 agg 函数对每个组做整合而计算统计量。
【split-apply-combine】用 apply 函数做数据分析时美滋滋。