的apply_apply+lambda使用

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的数据 结构传入给自己实现的函数中。

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值