Простое введение и сценарий шаблона, опыт работы с Python не требуется.

VLookup — это здорово. Откройте некоторые данные в Excel, решите, какое значение вы хотите найти в другой таблице, и используйте его для объединения нужных данных.

Теперь у вас есть все необходимые данные в одной таблице для дальнейшего анализа. Но подождите, вы не убедились, что ваш ключ vlookup был упорядочен по алфавиту, это напутало с операцией, и у вас есть ерунда.

Вы не проверили это перед тем, как продолжить свои проекты, и теперь вам нужно переделать кучу работы.

Простая операция объединения данных не должна быть такой сложной, верно?

Войдите в Python Pandas, и самое приятное то, что вам не нужно иметь какой-либо опыт программирования или Python, чтобы эффективно использовать эту операцию.

Я большой сторонник того, чтобы работать умно, а не усердно, и я знаю свои ограничения — когда я делаю что-то вручную, я делаю ошибки.

Виртуальный просмотр может быть быстрым, если у вас есть один или два набора для объединения, и вы уже работаете в Excel, но может быстро стать трудоемким и подверженным ошибкам, если вы добавляете больше вручную. Создав сценарий, который считывает ваши исходные наборы данных, вы можете настроить операцию на однократное объединение данных, включая столько столбцов, сколько пожелаете, и запускать ее снова и снова, когда вам захочется.

Допустим, у вас есть ежедневная задача, которая включает в себя загрузку некоторых данных, открытие их в Excel, использование vlookup для добавления некоторой информации, чтобы сделать данные более полезными, закрытие файла, прикрепление его к электронному письму и отправку вашему менеджеру. Как только вы достаточно ловко с этим справитесь, это, вероятно, по крайней мере 5 минут ручной работы в одиночку, или 25 минут в неделю. Немного, но если учесть, что это 20 часов в год, то понимаешь, что ни у кого нет на это времени.

Давайте рассмотрим как.

Я использую Spyder, часть пакета Anaconda, для редактирования своих скриптов на Python. Его легко установить, а главное — бесплатно.

Ниже приведен фиктивный скрипт, который вам просто нужно настроить под свои нужды:

# import the pandas library and name it pd for short
import pandas as pd
# import data, in this case csv
dataset1 = pd.read_csv(r’filepath\filename.csv’)
#import lookup table, what you would before have used as your vlookup
lookup = pd.read_excel(r’filepath\filename.xlsx’, sheet_name = ‘sheetname’)
# merge on date and location
datasetmerged = pd.merge(dataset1,lookup, left_on = [‘id’], right_on = [‘person_id’], how = ‘left’)
## write back to csv (or excel or whatever type you like)
datasetmerged.to_csv(r’filepath\filename.csv’, index = False)
# ’cause you are one:
print(“SUCCESS”)

Я прочитал свои наборы данных, назвал их так, как мне хочется (dataset1 и lookup), объединил их на основе моего совпадения id и вывел это в DataFrame, который я назвал dataset_merged.

Наконец, я записал это обратно в Excel в любом месте по своему выбору. Когда вы объедините how = ‘left’, выходные данные сохранят все файлы, которые вы упомянули первыми (dataset1), и объединит все, что у них есть совпадение, что нам и нужно здесь.

Если вам нужно объединить его на основе нескольких совпадений, например. и идентификатор, и дата должны совпадать, вместо этого используйте этот синтаксис:

datasetmerged = pd.merge(dataset1, lookup, left_on = [‘id’, ‘date’], right_on = [‘person_id’, ‘date’], how = ‘left’)

Более того, по мере того, как вы будете чувствовать себя более уверенно в Pandas, вы сможете начать писать сценарии анализа в том же файле. Например, вы можете создавать сводные таблицы и агрегировать значения, удалять определенные данные, чтобы удалить шум, удалять ненужные столбцы и выводить привлекательные диаграммы в рамках одного и того же скрипта.

Это было действительно простое введение, предназначенное для того, чтобы вы быстро освоились с этой функцией. Есть много других статей, в которых функции слияния объясняются более подробно, и я рекомендую их, если вы хотите продолжить свои поиски продуктивной лени.

Для получения дополнительной информации о том, как работает слияние, и о настройке синтаксиса в соответствии с вашими потребностями, см. документацию pandas: