利用Python进行数据分析-读书笔记(5)

带有重复标签的轴索引

series = pd.Series(range(5), index=['a', 'a', 'b', 'b', 'c'])
series.index.is_unique 返回bool类型确认索引标签是否重复
对于带有重复值的索引,数据选取的行为将会有些不同。如果某个索引对应多个值,则返回一个Series;而对应单个值的,则返回一个标量值
DataFrame结构数据类似,会返回多行Series序列

5.3 汇总和计算描述统计

frame.sum() 返回一个Series 索引为frame的列名,对应值为原frame每列的和值,NaN值当作零值
frame.sum(axis=1) / frame.sum(axis='columns') 按行进行求和
frame.mean(axis='columns', skipna=False) NA值会自动被排除。通过skipna选项可以禁用该功能,这时只要运算过程中出现NaN,结果就是NaN



frame.idxmin() 有些方法(如idxmin和idxmax)返回的是间接统计(比如达到最小值或最大值的索引)
df.cumsum() 返回累计型结果,每行进行相加,和值不断累加至最后一行
frame.describe() 一次性产生多个汇总统计
下图为各种描述统计相关方法


相关系数与协方差

series1.corr(series2) Series的corr方法用于计算两个Series中重叠的、非NA的、按索引对齐的值的相关系数,cov用于计算协方差:
frame.corr() frame.cov() 返回相关系数矩阵和协方差矩阵
frame.corrwith(series) 计算其列或行跟另一个Series或DataFrame之间的相关系数,传入一个Series将会返回一个相关系数值Series(针对各列进行计算)
frame1.corrwith(frame2) 传入一个DataFrame则会计算按列名配对的相关系数,传入axis='columns'即可按行进行计算,在计算相关系数之前,所有的数据项都会按标签对齐

唯一值、值计数以及成员资格

series.unique() 得到唯一值 ,可用uniques.sort()排序
series.value_counts() 得到各值出现的频数
pd.value_counts(frame.values, sort=False) 用于数组查看,sort参数表示不按频数大小排序
frame.isin(['b', 'c']) 过滤Series中或DataFrame列中数据的子集


转载图片

result = frame.apply(pd.value_counts).fillna(0) 输出frame数据中每个元素的计数值矩阵

你可能感兴趣的:(利用Python进行数据分析-读书笔记(5))