是否可以使用pandas python将VLOOKUP公式添加到列中而不使用for循环遍历每一行?
这是我所拥有的循环,但在包含超过60,000行的Excel文件上有点慢
for i, row in df1.iterrows():
df1.loc[i, 'OutcomeGroupCodeName'] = "=VLOOKUP(N" + str(i + 2) + ",OUTCOMES!A:O,3,FALSE)"
用于vlookup的ID是Excel工作表中每行的N列。这相当于打开Excel并将其添加到单元格中,即
=VLOOKUP(N2,OUTCOMES!A:O,3,FALSE)
=VLOOKUP(N3,OUTCOMES!A:O,3,FALSE)
我知道你可以使用pandas来连接与VLOOKUP相同的数据,但是我需要pandas写的最终Excel文件中的公式,这样如果稍后在导出的Excel工作表中更改了值,它将自动应用VLOOKUP。因此,在保存到Excel之前在pandas中应用merge / VLOOKUP对我来说不起作用。
这会将公式写入列中的每个单元格,但我不知道如何将索引/行号添加到字符串的一部分
df1['OutcomeGroupCodeName'] = "=VLOOKUP(N,OUTCOMES!A:O,3,FALSE)"
答案 0 :(得分:0)
使用.apply
可以解决此问题
df.apply(lambda row: "=VLOOKUP(N{},OUTCOMES!A:O,3,FALSE)".format(row.name), axis=1)