今
日
鸡
汤
举贤任能,不时日而事利。
大家好,我是Python进阶者。
一、前言
前几天在Python最强王者交流群【wen】问了一个Pandas解决实际需求的实战问题。问题如下:
请教:代码的目的为自动填充产品名字,有多个销售数据的表格,如例子,销售数据表格中的的产品名字一列为空,我把销售数据表格与产品信息表格进行根据产品IP进行合并获得产品名字,但有些数据的产品号一列为空,可以根据产品ID进行匹配,请问怎么设置逻辑,当产品号为空时根据产品IP进行匹配呢?
二、实现过程
【瑜亮老师】指出:产品号为空就用id其实就是用id列填充产品号列的空值。
【wen】:大部分数据都有产品号,今天发现有些数据匹配不了,原来产品号缺失。
这里【瑜亮老师】给出了具体的代码,如下所示:
df1 = df1.merge(df2[['产品号', '产品名称']], on='产品号', how='left')
df1.loc[df1['产品号'].isnull(), '产品名称'] = df1.loc[df1['产品号'].isnull(), 'ID'].map(lambda x: df2[df2['ID'] == x]['产品名称'].values[0])
顺利地解决了粉丝的问题。
领取专属 10元无门槛券
私享最新 技术干货