logo

Как да комбинирате два кадъра с данни в Python - Pandas

панди

Pandas е вградена библиотека в Python, която се използва за работа с релационни данни в езика за програмиране Python. Той има много функции и структури от данни, които помагат при операциите с релационни данни.

Ако данните се съхраняват под формата на редове и колони или двуизмерни данни обикновено се наричат ​​рамки за данни в pandas.

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

1. Използване на функцията concat().

В Python можем да свържем двата кадъра с данни с помощта на функцията concat() на Pandas. Можем да свържем данните или по ред, или по колона. Тази функция обединява данните на една ос (ред или колона) и изпълнява зададената логика на друга ос (друг индекс).

Пример:

 import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'DEF', 'GHI'], 'Marks':[65,69,96,89]}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'Name': ['XYZ', 'TUV', 'MNO', 'JKL'], 'Marks':[56,96,69,98]}) frames = [dataFrame1, dataFrame2] result = pd.concat(frames) display(result) 

Изход:

Как да комбинирате два кадъра с данни в Python - Pandas

Обяснение:

В горния код първо импортирахме библиотеката Pandas във файла. След това създадохме двата кадъра с данни, където всеки кадър с данни съдържа три колони и четири реда. След това използвахме функцията concat, която свързва тези два кадъра с данни поредно, и с функцията за показване отпечатахме това на екрана.

2. Използване на обединения в pandas

Разбрахме концепцията за обединения в базата данни, където обединяваме двете таблици въз основа на някакъв общ атрибут. Същият метод е приложим при конкатенацията на кадри с данни. В простия метод concat() обединихме всички редове един върху друг и създадохме новата рамка с данни. В съединението ние определяме какъв тип съединение искаме да извършим на масата, независимо дали е вътрешно или външно съединение. Какъвто и да е типът на свързване, вътрешно съединение (пресичане) или външно съединение (обединение), ще бъде дефинирано в атрибута за съединение.

Пример:

масив за сортиране в java
 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=1, join='inner') display(result) 

Изход:

Как да комбинирате два кадъра с данни в Python - Pandas

Обяснение:

В горния код имаме два daraframes, които съдържат две колони и четири реда. И двата кадъра с данни имат различни имена на колони, а във функцията concat() сме използвали вътрешното съединение, което взема пресечната част.

В атрибута на ос сме инициализирали стойност едно, така че получихме всички данни.

Пример:

 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'],'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result) 

Изход:

възраст на вики каушал
Как да комбинирате два кадъра с данни в Python - Pandas

Тъй като няма общ атрибут и беше приложено вътрешното присъединяване, тогава получихме празен кадър с данни като изход. Ако има общ атрибут в двете рамки с данни:

Пример:

 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result) 

Изход:

Как да комбинирате два кадъра с данни в Python - Pandas

Обяснение:

В горния код имаме един атрибут, „id“, който е общ, така че рамката с данни се създава въз основа само на общи атрибути.

3. Използване на метода append().

Вместо метода concat(), можем да използваме метода append(). Този метод append() се прилага към един от кадрите с данни.

Пример:

 import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'City': ['JAIPUR', 'MANALI', 'NOIDA', 'LUCKNOW']}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['MUMBAI', 'UDAIPUR', 'RISHIKESH', 'KASHMIR']}) # append method result = dataFrame1.append(dataFrame2) display(result) 

Изход:

Как да комбинирате два кадъра с данни в Python - Pandas

Обяснение:

В горния код обединихме два кадъра с данни, използвайки метода за добавяне.