Добавление формулы vlookup в столбец с питоном pandas без зацикливания строк - PullRequest
0 голосов
/ 13 июня 2018

Можно ли добавить формулу VLOOKUP в столбец с pandas python без использования цикла for для циклического прохождения каждой строки?

Это цикл, который у меня работает, но работает немного медленнее в Excelфайл с более чем 60000 строк

for i, row in df1.iterrows():
    df1.loc[i, 'OutcomeGroupCodeName'] = "=VLOOKUP(N" + str(i + 2) + ",OUTCOMES!A:O,3,FALSE)"

Идентификатор для vlookup - это столбец N в каждой строке на листе Excel.Это эквивалент открытия Excel и добавления его в ячейки, т. Е.

=VLOOKUP(N2,OUTCOMES!A:O,3,FALSE)
=VLOOKUP(N3,OUTCOMES!A:O,3,FALSE)

. Я знаю, что вы можете использовать панды для объединения данных, что аналогично VLOOKUP, но мне нужна формула в конечном файле Excel, которая называется pandasзаписывает так, что если значение будет когда-либо изменено в экспортированном листе Excel позже, оно автоматически применит VLOOKUP.Поэтому применение слияния / VLOOKUP в пандах перед сохранением в Excel не будет работать для меня.

Это позволит записать формулу в каждую ячейку столбца, но я не знаю, как добавить номер индекса / строкина часть строки

df1['OutcomeGroupCodeName'] = "=VLOOKUP(N,OUTCOMES!A:O,3,FALSE)"

1 Ответ

0 голосов
/ 13 июня 2018

Использование .apply может решить эту проблему

df.apply(lambda row: "=VLOOKUP(N{},OUTCOMES!A:O,3,FALSE)".format(row.name), axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...