У меня есть два кадра данных панд,
Имя клиента Датафрейм: Имя
ID Name
9967 Tasia Aldrich
5154 Tinisha Balcom
9780 Lonna Braga
5101 Violette Arneson
7074 Oralee Schertz
4324 Tempie Bristol
7270 Margarita Evens
2087 Jon Woodham
1301 Linwood Wollman
5897 Salvatore Oatis
и т. Д.
Фрейм данных о покупке продукта клиента: покупка
ID Product
1094 Audio Equipment
5337 Cameras and Camera Equipment
3035 Car Electronics and GPS
7865 Computer Accessories
2126 Desktop Computers and Monitors
8823 Laptops and Notebooks
4987 Lighting Equipment
7920 Smartphones and Mobile Devices
5801 Tablets and E-Readers
8242 Televisions and Television Services
и т. Д.
Теперь оба фрейма данных содержат около 12 миллионов записей, и я хочу объединить их на основе их идентификатора. Я пытался использовать традиционную операцию панд:
mergeDF=name.merge(purchase,'left','ID')
и для полного слияния потребовалось буквально 140 минут. Есть ли другой метод, с помощью которого я могу оптимизировать это?
Вторая часть:
Я также пытаюсь создать столбец во вновь объединенном фрейме данных под названием "ключ", который определяется как:
mergedDF['key']=mergedDF.apply(lambda x: x.ID+'&'+x.Product,axis=1)
, что снова займет уйму времени. Любая рекомендация для этого?
Я новичок в Python, поэтому любые предложения будут полезны.