#python##python打卡##春晚##Python数学编程#
【大家在看春晚的时候,小编在写python文章,分享给大家,记得关注小编,这是最好的礼物!】
前言
python语言中的groupby技术,是一种“拆分-应用-合并”的范式。所谓范式,它具有复用能力,可以应用到不同的符合的应用场景。pandas有两种数据结构,分别是Series和DataFrame。我们可以简单理解Series是一个没有列名的一组值,DataFrame是几个带有列表的列的组合。如果首次接触,可以多想想平时接触到的各种excel和csv等格式的数据文件,然后结合着去理解,不会感觉特别抽象。
基于“拆分-应用-合并”范式,计算平均数
根据groupby的“拆分-应用-合并”范式,DataFrame的列与列之间或两个Series之间的运算(比如分组加权平均)成为一种标准作业。接下来,我们先来创建一个数据集df,它含有分组键、值以及一些权重值:
如上图中的代码所示,我们创建了DataFrame数据结构的对象df,包含两个三个键,分别为“category”、“data”和“weights”。第二步,根据“category”对df对象进行分组,并生成一个grouped对象。第三步,使用lambda函数创建get_wavgd对象。第四步则是对grouped对象应用get_wavgd,使用的是apply方法。
选取固定的字段
在实际数据处理的过程中,经常会做的一件事情就是从大的数据集中选择分析时所需要的字段。那么,如何进行字段的选取呢?我们一起来看下面的例子:
colse_px=('G;\LPTPython\pydata-book-2nd-edition\pydata-book-2nd-edition \examples\;,parse_dates=false,index_col=0)
如上述代码所示,首先使用pandas中的read_csv方法进行数据的读取,并且设置了索引列(index_col),同时生成一个新的对象close_px。然后使用偏移量进行数据的选取。
计算相关系数
百分数的计算方法,在python语言中可以使用pct_change,下面的代码片段中会使用到该方法。接下来,我们来计算日收益率与列之间的相关系数。计算一个由日收益率(通过百分数变化计算)与SPX之间的年度相关系数组成的DataFrame。下面是一个实现方法:
计算列与列之间的相关系数,具体的代码实现如下图片所示:
上述实现方法同计算平均数一样,都是基于“拆分-应用-合并”范式进行的操作。
总结
综上所述,本文分享的主题是基于“拆分-应用-合并”范式,计算分组加权平均数和相关系数的方法和相应的代码片段,供大家参考。在使用“拆分-应用-合并”范式的过程中,需要清楚理解其本质,这样才能更好的进行应用。大家可以依据此类示例,进行其他应用场景的扩展。
新年一句话:
【今日是除夕夜,大家应该在看春晚,小编手动发布此文章,祝愿大家春节快乐!希望在新年和未来一直有大家的陪伴,在成长的路上一起前行。】