Pandas常用函数总结(二)

本文深入探讨了Pandas库中的apply函数,通过实例演示如何利用该函数进行数据处理,包括自定义函数应用、匿名函数使用及内置函数调用等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接上篇Pandas常用函数总结(1),本篇继续介绍Pandas常用的函数。首先介绍下Pandas里面常用的两种数据类型,一种是Series,类似一维数组;还一种是DataFrame,类似二维数组。

三、apply()函数

apply函数是pandas里面所有函数中自由度最高的函数。该函数如下:

DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)

该函数最有用的是第一个参数,这个参数是函数,相当于C/C++的函数指针。这个函数需要自己实现,函数的传入参数根据axis来定,比如axis = 1,就会把一行数据作为Series的数据 结构传入给自己实现的函数中,我们在函数中实现对Series不同属性之间的计算,返回一个结果,则apply函数会自动遍历每一行DataFrame的数据,最后将所有结果组合成一个Series数据结构并返回。

func可以自定义一个函数,也可以使用lambda函数(匿名函数)进行构建,或者各种Pandas内置的函数

import pandas as pd

def add(serise):
    sum=serise['x']+serise['y']
    return sum

table=[[0,1,1,3],[1,1,0,0],[0,0,0,1]]
a=pd.DataFrame(table,index=['x','y','z'],columns=['a','b','c','d'])
print(a)
<<
a  b  c  d
x  0  1  1  3
y  1  1  0  0
z  0  0  0  1


#**************************************************************************
#自定义add()函数,按列传入数据,返回每一列‘x’行和‘y’行相加的结果
fun1=a.apply(add,axis=0)
print(fun1)
<<
a    1
b    2
c    1
d    3
dtype: int64

#***************************************************************************
#使用匿名函数,按列传入数据,返回每一列‘x’行和‘Z’行相加的结果
fun2=a.apply(lambda serise: serise['x']+serise['z'],axis=0)
print(fun2)
<<
a    0
b    1
c    1
d    4
dtype: int64

#使用Pandas自带的函数包,按列传入数据,统计每一列各个数据出现的频率 NaN代表没有
fun3=a.apply(pd.Series.value_counts,axis=0)
print(fun3)
<<
    a    b    c  d
0  2.0  1.0  2.0  1
1  1.0  2.0  1.0  1
3  NaN  NaN  NaN  1

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值