Научете как да обединявате кадри с данни в Python

Научете как да обединявате кадри с данни в Python

Ако използвате Python, дори за най-простите задачи, вероятно сте наясно с важността на неговите библиотеки на трети страни. Библиотеката Pandas, с отличната си поддръжка за DataFrames, е една такава библиотека.





Можете да импортирате множество типове файлове в Python DataFrames и да създавате различни версии за съхраняване на различни набори от данни. След като импортирате вашите данни с помощта на DataFrames, можете да ги обедините, за да извършите подробен анализ.





Справяне с основите

Преди да започнете сливането, трябва да имате DataFrames за сливане. За целите на разработката можете да създадете някои фиктивни данни, с които да експериментирате.





Създайте DataFrames в Python

Като първа стъпка импортирайте библиотеката Pandas във вашия Python файл. Pandas е библиотека на трета страна, която обработва DataFrames в Python. Можете да използвате импортиране изявление за използване на библиотеката, както следва:

import pandas as pd

Можете да присвоите псевдоним на името на библиотеката, за да съкратите вашите кодови препратки.



как да проверя дали мрежата ми е защитена

Трябва да създадете речници, които можете да конвертирате в DataFrames. За най-добри резултати създайте две речникови променливи— dict1 и dict2— за съхраняване на специфични части от информация:

dict1 = {"user_id": ["001", "002", "003", "004", "005"], 
"FName": ["John", "Brad", "Ron", "Roald", "Chris"],
"LName": ["Harley", "Cohen", "Dahl", "Harrington", "Kerr-Hislop"]}

dict2 = {"user_id": ["001", "002", "003", "004"], "Age": [15, 28, 34, 24]}

Не забравяйте, че трябва да имате общ елемент в стойностите на двата речника, който да действа като първичен ключ за комбиниране на вашите DataFrames по-късно.





Преобразувайте вашите речници в DataFrames

За да конвертирате стойностите на вашия речник в DataFrames, можете да използвате следния метод:

df1 = pd.DataFrame(dict1) 
df2 = pd.DataFrame(dict2)

Някои IDE ви позволяват да проверявате стойностите в рамките на DataFrame, като се позовавате на функцията DataFrame и натискате Изпълнение/Изпълнение . Има много Съвместими с Python IDE , така че можете да изберете този, който е най-лесен за научаване.





  Кодов фрагмент на Jupyter Notebook

След като сте доволни от съдържанието на вашите DataFrames, можете да преминете към стъпката на сливане.

Комбиниране на рамки с функцията за сливане

Функцията за сливане е първата функция на Python, която можете да използвате, за да комбинирате два DataFrames. Тази функция приема следните аргументи по подразбиране:

pd.merge(DataFrame1, DataFrame2, how= type of merge)

Където:

  • пд е псевдоним на библиотеката Pandas.
  • сливане е функцията, която обединява DataFrames.
  • DataFrame1 и DataFrame2 са двата DataFrames за сливане.
  • как дефинира типа сливане.

Налични са някои допълнителни незадължителни аргументи, които можете да използвате, когато имате сложна структура от данни.

Можете да използвате различни стойности за параметъра how, за да определите вида на сливането, което да се извърши. Тези типове сливане ще ви бъдат познати, ако сте използва SQL за свързване на таблици на база данни .

Ляво сливане

Левият тип сливане запазва стойностите на първата DataFrame непокътнати и изтегля съвпадащите стойности от втората DataFrame.

  Кодов фрагмент на Jupyter Notebook

Право обединяване

Правилният тип сливане запазва стойностите на втория DataFrame непокътнати и изтегля съответстващите стойности от първия DataFrame.

  Кодов фрагмент на Jupyter Notebook

Вътрешно сливане

Типът вътрешно сливане запазва съвпадащите стойности от двата DataFrames и премахва несъвпадащите стойности.

  Кодов фрагмент на Jupyter Notebook

Външно сливане

Типът външно сливане запазва всички съответстващи и несъвпадащи стойности и консолидира DataFrames заедно.

  Кодов фрагмент на Jupyter Notebook

Как да използвате функцията Concat

The concat е гъвкава опция в сравнение с някои от другите функции за сливане на Python. С функцията concat можете да комбинирате DataFrames вертикално и хоризонтално.

Недостатъкът на използването на тази функция обаче е, че тя отхвърля всички несъвпадащи стойности по подразбиране. Подобно на някои други свързани функции, тази функция има няколко аргумента, от които само няколко са от съществено значение за успешна конкатенация.

concat(dataframes, axis=0, join='outer'/inner)

Където:

  • concat е функцията, която се присъединява към DataFrames.
  • кадри с данни е последователност от DataFrames за свързване.
  • ос представлява посоката на конкатенация, като 0 е хоризонтална, 1 е вертикална.
  • присъединяване указва или външно, или вътрешно съединение.

Използвайки горните две DataFrames, можете да изпробвате функцията concat, както следва:

# define the dataframes in a list format 
df_merged_concat = pd.concat([df1, df2])

# print the results of the Concat function
print(df_merged_concat)

Липсата на аргументи за ос и съединение в горния код комбинира двата набора от данни. Полученият изход съдържа всички записи, независимо от състоянието на съответствие.

По същия начин можете да използвате допълнителни аргументи, за да контролирате посоката и изхода на функцията concat.

как да премахнете вокалите с дързост

За да контролирате изхода с всички съвпадащи записи:

# Concatenating all matching values between the two dataframes based on their columns 
df_merged_concat = pd.concat([df1, df2], axis=1, join = 'inner')

print(df_merged_concat)

Резултатът съдържа всички съвпадащи стойности само между двата DataFrames.

  Кодов фрагмент на Jupyter Notebook

Обединяване на DataFrames с Python

DataFrames са неразделна част от Python, като се има предвид тяхната гъвкавост и функционалност. Като се има предвид тяхната многостранна употреба, можете да ги използвате широко, за да изпълнявате различни задачи с изключителна лекота.

Ако все още научавате за Python DataFrames, опитайте да импортирате някои Excel файлове, след което ги комбинирайте с различни подходи.