pandas中Series的apply函数

闲来无事 浏览源码 发现了一个特别有意思的函数
Series中的apply()函数

和大多数apply函数一样,这个函数传入的参数也是一个函数,目的是对传入的series的值进行批量的处理,不用我们手动写函数来处理

举个例子:
我有一个series,大概样子是这样的
在这里插入图片描述
我想要做的就是只要这些日期中的年,我们都知道直接split,之后取第一个就好,
达到的结果是这样
在这里插入图片描述
如果按照常规的方法

def deal_with_date(series_):
    new_date_list = []
    for date_ in list(series_):
        new_date_list.append(date_.split('-')[0])
    return Series(new_date_list)

这样就能实现,但是感觉series应该更强大才对,所以apply方法来了

def squter(x):
    return x.split('-')[0]

是的,你没看错,就这样简单,虽然上述的方法能实现,但还是感觉这个方法更简单,
而且通过函数就能发现,传入的参数就是series的中值,不需要传入series,然后各种转换之类的,
上面这个函数是对series的中值进行处理,下面在调用就ok

series_after_date = series_1.apply(squter)  
print(series_after_date)

apply()中直接传入函数,到此结束,稳得一批

猜你喜欢

转载自blog.csdn.net/qq_42896149/article/details/88896805