python 的pandas库 .loc用法的一个很细节问题

python 的pandas库 .loc用法的一个很细节问题。索引和值被一起赋值过去了!!🤢

背景:

由于我想用lambda进行便利,于是我就写了很长一串代码。明细如下:
plan_order['新物料编码描述'] = plan_order.apply(lambda x : changed_code.loc[changed_code.loc[changed_code['旧物料编码'] == x['物料组件编码']].index, '新物料描述'] if x['物料组件编码'] in list(changed_code['旧物料编码']) else '', axis=1)

结果:

每一行值前面还有索引在最前面!!!
在这里插入图片描述

分析:

这行代码太长了,我把关键提取出来:

changed_code.loc[changed_code.loc[changed_code['旧物料编码'] == x['物料组件编码']].index, '新物料描述']

这里由于lambda一行只能让我做一次判断,我在找寻某一条数据的索引的时候。用了以下代码找index

changed_code.loc[changed_code['旧物料编码'] == x['物料组件编码']].index

这样赋值会将索引代进去。

解决方案

将index转化为数字就好了

changed_code.loc[changed_code['旧物料编码'] == x['物料组件编码']].index[0]

问题解决,好起来了兄弟们

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值