dataframe apply 参数_python数据分析:Apply的使用

本文详细介绍了Pandas中DataFrame的apply函数用法,包括基础定义、应用实例及与groupby结合的使用方法,帮助读者掌握数据处理关键技巧。
摘要由CSDN通过智能技术生成

本文是《数据蛙三个月强化课》的第八篇总结教程,如果想要了解作者从转行后一直以来的思考,可以阅读谈谈转行数据分析以及工作心得。温馨提示:如果您已经熟悉apply函数的使用,大可不必再看这篇文章,或是之挑选部分内容

773b9b955d1a9963ae0b66b803dccb5c.png

一:Apply函数的用法

1.apply函数的定义
对于pandas包中,apply函数应该是用的较多的了。这里我们一起从函数的定义开始来学习。在 juypter编辑器中输入?df.apply()便可以得到详细的函数定义,以及方便理解的案例。下面我节选一些常用参数来和大家一起探讨下

函数定义:
----------
 df.apply(func, axis=0, broadcast=False, raw=False,     reduce=None, args=(), **kwds)
函数的理解:
----------
apply函数中可以来使用自定义的函数(func);对于func中传递的参      
数,如果axis =0 应用于每一列上, 如果axis=1应用于每一行上 
参数:
----------
func : 自定义的函数
    函数应用在每一列或是每一行上
axis : {0 or 'index', 1 or 'columns'}, default 0
    * 0 or 'index': 应用函数在每一列上
    * 1 or 'columns': 应用函数在每一行上
args : 元组
    额外的给自定义函数传递一个元组参数
    array/series
 其中还是可以给自定义参数传递一个字典参数    
Returns
-------
applied : Series or DataFrame

2.apply函数的应用举例
我们先观察下测试的数据,数据点击可下载 提取码:34uj

f1dddc3d05e9f8d77f27c50cf8adb9c1.png

数据展示的是某类文章被报刊接收时间和发表时间,这里的时间间隔正是我们想要求得的。下面我们一起来处理看看

  import datetime   #用来计算日期差的包
def dataInterval(data1,data2):
    d1 = datetime.datetime.strptime(data1, '%Y-%m-%d')
    d2 = datetime.datetime.strptime(data2, '%Y-%m-%d')
    delta = d1 - d2
    return delta.days

def getInterval(arrLike):  #用来计算日期间隔天数的调用的函数
    PublishedTime = arrLike['PublishedTime']
    ReceivedTime = arrLike['ReceivedTime']
    days = dataInterval(PublishedTime.strip(),ReceivedTime.strip())  #注意去掉两端空白
    return days

625ed73fb8416862b7f00e790ba54644.png

这时我们再看,TimeInterval列已经有数据了,然后大家自己运行函数看看

二:apply函数结合group by的使用

这里我们还是使用上面的数据,但是我们想让每类文章中参考次数大于平均值的为1,小于平均值的为0,那如何来操作呢?

  • 先看下groupby 之后的数据,传到apply中是如何

c99a38fe53c7d63252a6071362b94b9a.png

这里能够看到是传入的每组的dataframe

  • 看下最后的结果

7ed0446d5575bb890f2b431aa9b59eb8.png


大家看完好好的操作下,熟练的掌握apply函数,pandas就基本会了80%,加油!

参考资料:
1.Apply函数测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值