美文网首页我爱编程
pandas 中的另类合并,相当于Excel的VLOOKUP。

pandas 中的另类合并,相当于Excel的VLOOKUP。

作者: 喵呜e喵星人 | 来源:发表于2018-03-27 22:22 被阅读0次

在使用pandas处理Excel数据时,发现没有excel中的vlookup功能,使用merge连接又会得到不需要的字段。

尝试了几种其他的方法,效率都不是很理想,被匹配表的数据(20w+)。。。。

偶然想到list是有序的,因此通过使用建立一个list,然后使用index函数查找到字段的位置,

再通过pandas的loc定位到相对应的行,取出需要匹配的字段。。。试用了下,速度可以满足我的要求。

以下是代码部分:

def get_mac(item):

a = []

for x in item:

    try:

        mac_2 = list(data.loc[[sn.index(x)]]['匹配要取的字段'])[0]  #定位到bb表的行,并取出要匹配的字段

        print(x,mac_2)

        a.append(mac_2)

    except:

        print(x,0)

        a.append(0)

return a

df = pd.read_excel('aa.xlsx') #需要匹配的数据表

data = pd.read_excel('bb.xlsx') #被匹配的数据表

sn = [x for x in data['匹配字段']] #被匹配的数据表中的字段

df['匹配的列名称']=get_mac(df['需要匹配数据表的字段'])

相关文章

网友评论

    本文标题:pandas 中的另类合并,相当于Excel的VLOOKUP。

    本文链接:https://www.haomeiwen.com/subject/grrecftx.html