DataFrame 行遍历操作 df.apply() lambda

1、读入电子表格,获取dataframe数据

import pandas as pd
path='D:/test.xlsx'
df = pd.read_excel(path,dtype='str') 

2、定义自己的处理函数,稍后由lambda调用。要回写df,注意一定要有返回值。

#定一个参数用于演示
arg1=1
#定义函数
def myneed(df,arg1):
   df['类型']=arg1+1
   df['批次']=arg1+2
   return df

3、对dataframe调用apply()方法,即逐行遍历(axis=1))。

lambda x中x即df.apply的df,将df传入myneed函数(还可传入arg1等其它参数)进行运算

#本例,将完整的df传入函数:(lambda内,x即为df)
df=df.apply(lambda x:myneed(x,arg1),axis=1)

#扩展,你也可以将df['编号']传入函数:(lambda内,x即为df)
df=df.apply(lambda x:myneed(x['编号'],arg1),axis=1)

#扩展,你可以对df['编号']进行apply操作:(lambda内,x即为df['编号'])
df['序号']=df['编号'].apply(lambda x:myneed(x,arg1),axis=1)

4、总结:

一:采用apply()方式对dataframe行遍历操作效率较高。3万行电子表格数据的读入、计算、写入电子表格文件,全程仅需要30秒即可完成。

二、但需要结合lambda、自定义函数等进行操纵,对初学者不友好。

三、作为初学者,写此博文希望可以帮助到跟我一样的人。如果不足请留言指正。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值