非常感谢以下问题的一些帮助。我打算使用Pandas库来解决这个问题,如果你能解释如何在可能的情况下使用Pandas来解决这个问题,我将不胜感激。
我想采用以下excel文件:
和
所以基本上这类似于excel vlookup练习,除了它不是我们在' Site'之间寻找的完全匹配。和'域名'列。
我已经在Excel中尝试了这一点,但我正在查看超过100,000行,并将它们与超过1000个站点进行比较,这些站点崩溃了。
我尝试将查找列表存储在与我们要使用'所有者'进行分类的域列表相同的文件中。如果有更好的方法,例如将查找列表完全存储在一个单独的数据框中,那就没问题了。
提前感谢您的帮助,我真的很感激。
科林
答案 0 :(得分:0)
我认为OP的问题与评论中链接的解决方案有所不同,这些解决方案要么处理精确查找(map
),要么在数据帧之间进行查找。这里有一个数据帧和一个要查找的部分匹配。
import pandas as pd
import numpy as np
df = pd.ExcelFile('data.xlsx').parse(0)
df = df.astype(str)
df['Test'] = df.apply(lambda x: x['Site'] in x['Domain'],axis=1)
df['Output'] = np.where(df['Test']==True, df['Owner'], '')
df
lambda
允许重复跨轴应用的in
测试,以在Test
中返回布尔值。这样就可以查找Owner
并放入Output
。