的apply_apply+lambda使用

通过使用Pandas的apply方法结合lambda表达式,将DataFrame中的PatientID、SeriesInstanceUID和StudyInstanceUID列的值连接成新的SliceID,形成唯一的标识。此操作有助于数据的管理和索引,确保每个切片具有独特的标识符。
摘要由CSDN通过智能技术生成

ed5cfc5fc4832335a058dd53932033ae.png

源代码:

trnmdf['SliceID'] = trnmdf[['PatientID', 'SeriesInstanceUID', 'StudyInstanceUID']].apply(lambda x: '{}__{}__{}'.format(*x.tolist()), 1)

这句的意思是把trnmdf中的每行数据的PatientID,SeriesInstanceUID,StudyInstanceUID三个索引对应的字符连接成'{}__{}__{}'这种形式,并赋给trnmdf['SliceID']。这样子每个切片就可以有唯一的一个索引表示了。

lambda

是一个匿名函数。用于实现简单的功能。

lambda x: '{}__{}__{}'.format(*x.tolist())

首先这是一个函数,x表示 输入,函数表达式是'{}__{}__{}'.format(*x.tolist())。

*星号表示收集所有参数。比如这里输入只有 一个x,但是参数却是有['PatientID', 'SeriesInstanceUID', 'StudyInstanceUID']这三个。不加*只会把trnmdf['PatientID']当成x。

apply

表示把前面的参数用于到后面的函数中。这里就是把trnmdf[['PatientID', 'SeriesInstanceUID', 'StudyInstanceUID']]中的三个参数应用到lambdax: '{}__{}__{}'.format(*x.tolist())

apply()函数一般默认axis=1,表示是一维。会把一行数据作为Series的数据 结构传入给自己实现的函数中。

看完点个赞吧,三连更好哈哈哈哈哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值