原创 - Pandas 自构Vlookup简单函数 - 避免掉坑

原创 - Pandas 自定义Vlookup函数

Pandas没有Vlookup函数, 其它文章的自构函数也不好用,容易避免掉坑.因此自己原创一个,开始分享:

// Vlookup Func:
def vlookup(data1, data2vlookup, columns2vlookup , values_columns,na = 0):
    
    data1['vlookup'] = ''
    data2vlookup['vlookup'] =''
    for i in columns2vlookup:
        data1['vlookup'] = data1['vlookup'] + data1[i]
        data2vlookup['vlookup'] = data2vlookup['vlookup'] + data2vlookup[i]

    dict_1 = data2vlookup[['vlookup',values_columns]].set_index('vlookup').to_dict()[values_columns] #字典数据
    data1[values_columns+'_v'] = data1['vlookup'].apply(lambda x:dict_1.get(x,na))
    data1.drop('vlookup',axis = 1, inplace = True)
    return data1

# 开始测试        
columns_2_vlookup = ['订单类型','品牌线'] #可以多个列值 Vlookup;原始数据和目标数据必须有这些列
values_columns = '平均单量' # Vlookup 的数据列名,注意没有[]
data_1 = 年度数据_sum_1 #原始数据
data_2_vlookup = 年度数据_sum #目标数据
na_value = 0 #如无数据,用na_value填充

data_1 = vlookup(data_1,data_2_vlookup,columns_2_vlookup,values_columns,na_value)
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值