Python Numpy массивы, Vlookup как функция - PullRequest
0 голосов
/ 24 марта 2019

Я хотел бы попросить вас о помощи.Проблема в шагах.1. Импортируйте два файла Excel в фреймы данных Python - пока проблем нет. 2. Переносите фреймы данных в массивы.3. Создайте функцию VLOOKUP в python с массивами.Оба массива имеют ключ в первом столбце, который является уникальным и может использоваться для сопоставления.Две таблицы содержат данные, которые являются правильными в одной таблице, но не в другой.Я хотел бы перезаписать значения в таблице, где значения являются неправильными из таблицы, где значения являются правильными (я знаю, какая таблица имеет правильные значения ...)

Есть ли более тупой способ сделать это;

Пока что код, который я написал:

import pandas as pd

df=pd.DataFrame()

s = pd.read_excel("C:\a.xlsx")

r = pd.read_excel("C:\b.xlsx")

z=s.values

t = r.values

Здесь сопоставляется два массива и перезаписывается значение

for i in z:

    for j in t:

        if z[i, 0] == t[j, 0]:

            t[i, 41] = z[j, 5]

1 Ответ

0 голосов
/ 24 марта 2019

Если длина одинакова, используйте pd.merge, он действует как vlookup:

newdf = s.merge(r, on ='same_key')

newdf будет иметь все столбцы из обоих фреймов данных.Теперь вы можете получить доступ к отдельным столбцам, которые нужно обновить:

newdf['wrongcolumn'] = newdf['rightcolumn']
...