PANDAS之RESAMPLE

按日期汇总信息

Pandas中的resample函数可以完成日期的聚合工作,包括按小时维度,日期维度,月维度,季度及年的维度等等。下面我们分别说明。首先是按周的维度对前面数据表的数据进行求和。下面的代码中W表示聚合方式是按周,how表示数据的计算方式,默认是计算平均值,这里设置为sum,进行求和计算。

?
1
loandata.resample( 'W' ,how = sum ).head( 10 )

将W改为M,数据变成了按月聚合的方式。计算方式依然是求和。这里需要说明的是resample函数会显示出所有连续的时间段,例如前面按周的聚合操作会显示连续的周日期,这里的按月操作则会在结果中显示连续的月,如果某个时间段没有数据,会以NaN值显示。

?
1
loandata.resample( 'M' ,how = sum )

将前面代码中的M改为Q,则为按季度对数据进行聚合,计算方式依然为求和。从下面的数据表中看,日期显示的都是每个季度的最后一天,如果希望以每个季度的第一天显示,可以改为QS。

?
1
loandata.resample( 'Q' ,how = sum )

将前面代码中的Q改为A,就是按年对数据进行聚合,计算方式依然为求和。

?
1
loandata.resample( 'A' ,how = sum )

前面的方法都是对整个数据表进行聚合和求和操作,如果只需要对某一个字段的值进行聚合和求和,可以在数据表后增加列的名称。下面是将贷款金额字段按月聚合后求和,并用0填充空值。

?
1
loandata[ 'loan_amnt' ].resample( 'M' ,how = sum ).fillna( 0 )

在前面代码的基础上再增加一个数值字段,并且在后面的计算方式中增加len用来计数。在下面的结果中分别对贷款金额和利息收入按月聚合,并进行求和和计数计算

?
1
loandata[[ 'loan_amnt' , 'total_rec_int' ]].resample( 'M' ,how = [ len , sum ])

有时我们需要只对某一时间段的数据进行聚合和计算,下面的代码中对2016年1月至5月的数据按月进行了聚合,并计算求和。用0填充空值。

?
1
loandata[ '2016-01' : '2016-05' ].resample( 'M' ,how = sum ).fillna( 0 )

或者只对某些符合条件的数据进行聚合和计算。下面的代码中对于贷款金额大于5000的按月进行聚合,并计算求和。空值以0进行填充。

?
1
loandata[loandata[ 'loan_amnt' ]> 5000 ].resample( 'M' ,how = sum ).fillna( 0 )

除了按周,月,季度和年以外,resample函数还可以按以下方式对日期进行聚合。

下面给出了具体的对应表和说明。

 

总结

以上就是利用python按特定的维度或条件对数据进行提取的全部内容,希望本文的内容对大家学习使用Python能有所帮助。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值