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() ми об’єднали всі рядки один з одним і створили новий фрейм даних. У об’єднанні ми визначаємо, який тип об’єднання ми хочемо виконати для таблиці, внутрішнє чи зовнішнє об’єднання. Будь-який тип об’єднання, внутрішнє з’єднання (перетин) або зовнішнє з’єднання (об’єднання), буде визначено в атрибуті об’єднання.

приклад:

говінда
 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

Пояснення:

У наведеному вище коді ми маємо два дарафрейми, які містять два стовпці та чотири рядки. Обидва кадри даних мають різні назви стовпців, і у функції 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) 

Вихід:

статична java
Як поєднати два кадри даних у 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

Пояснення:

У наведеному вище коді ми об’єднали два кадри даних за допомогою методу append.