logo

Як об’єднати два або більше фреймів даних Pandas?

Конкатенацію двох або більше кадрів даних можна здійснити за допомогою методу pandas.concat(). concat() у Pandas працює шляхом комбінування кадрів даних у рядках або стовпцях. Ми можемо об'єднати два або більше кадрів даних уздовж рядків (вісь=0) або вздовж стовпців (вісь=1). У цій статті ми побачимо, як ми можемо об’єднати або додати два або більше Pandas Data Frame .

Об’єднайте два або більше Pandas DataFrames Python

Існують різні методи вертикального або горизонтального об’єднання DataFrames, тут ми обговорюємо деякі загальновживані методи для вертикального або горизонтального об’єднання DataFrames. це наступні.



fmovies
  • Конкатенація двох Pandas DataFrame
  • Using> pd.merge()> для об’єднання двох кадрів даних
  • pd.DataFrame.reindex()> для вертикального об’єднання з вирівнюванням індексу
  • Using pd.concat()>зsort=False>для швидшого об’єднання
  • Використання pandas.concat() для об’єднання двох фреймів даних
  • Об’єднайте кілька фреймів даних за допомогою pandas.concat()
  • Використання pandas.join() для об’єднання двох фреймів даних
  • Використання DataFrame.append() для об’єднання двох кадрів даних

Створіть зразок DataFrame

Створіть два фрейми даних, які ми зараз об’єднаємо. Для створення фреймів даних ми будемо використовувати Numpy і панди.

Python3








import> pandas as pd> import> numpy as np> df>=> pd.DataFrame({>'Courses'>: [>'GFG'>,>'JS'>,>'Python'>,>'Numpy'>],> >'Fee'>: [>20000>,>25000>,>22000>,>24000>]})> df1>=> pd.DataFrame({>'Courses'>: [>'Matplotlib'>,>'SSC'>,>'CHSL'>,>'Java'>],> >'Fee'>: [>25000>,>25200>,>24500>,>24900>]})> df2>=> pd.DataFrame({>'Duration'>: [>'30day'>,>'40days'>,>'35days'>,>'60days'>],> >'Discount'>: [>1000>,>2300>,>2500>,>2000>]})> print>(>'DataFrame 1:'>)> print>(df)> print>(>'DataFrame 2:'>)> print>(df1)> print>(>'DataFrame 3:'>)> print>(df2)>

>

>

Вихід:

DataFrame 1:    Courses     Fee  0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000 DataFrame 2:    Courses     Fee  0 Matplotlib 25000 1 SSC 25200 2 CHSL 24500 3 Java 24900 DataFrame 3:    Duration     Discount  0 30day 1000 1 40days 2300 2 35days 2500 3 60days 2000>

Об’єднайте два фрейми даних Panda по вертикалі та горизонталі

Ми передамо два кадри даних pd.concat() метод у формі списку та вкажіть, на якій осі ви хочете об’єднати, тобто вісь=0 зчепити вздовж рядів, вісь=1 зчепити вздовж стовпців.

Python3




# concatenating df1 and df2 along rows> vertical_concat>=> pd.concat([df, df1], axis>=>0>)> # concatenating df3 and df4 along columns> horizontal_concat>=> pd.concat([df1, df2], axis>=>1>)> print>(>'Vertical:'>)> print>(vertical_concat)> print>(>'Horizontal:'>)> print>(horizontal_concat)>

>

>

Вихід:

Vertical:    Courses     Fee  0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000 0 Matplotlib 25000 1 SSC 25200 2 CHSL 24500 3 Java 24900 Horizontal:    Courses     Fee     Duration     Discount  0 Matplotlib 25000 30day 1000 1 SSC 25200 40days 2300 2 CHSL 24500 35days 2500 3 Java 24900 60days 2000>

Конкатенація DataFrames за допомогою pd.merge() для Concatenation Two DataFrames

The method> 'pd.merge()'> in pandas is used to concatenate DataFrames either vertically or horizontally. It combines two DataFrames based on common columns using a merge operation. The 'how' parameter in pd.merge() specifies the type of merge (inner, outer, left, or right), determining how the DataFrames are combined.>

Python3




result>=> pd.merge(df, df1, on>=>'Courses'>, how>=>'outer'>, suffixes>=>(>'_df1'>,>'_df2'>)).fillna(>0>)> result[>'Fee'>]>=> result[>'Fee_df1'>]>+> result[>'Fee_df2'>]> result>=> result[[>'Courses'>,>'Fee'>]]> print>(result)>

>

>

Вихід:

   Courses     Fee  0 GFG 20000.0 1 JS 25000.0 2 Python 22000.0 3 Numpy 24000.0 4 Matplotlib 25000.0 5 SSC 25200.0 6 CHSL 24500.0 7 Java 24900.0>

Using pd.DataFrame.reindex()>для вертикального об’єднання з вирівнюванням індексу

Метод pd.DataFrame.reindex() використовується для вертикальної конкатенації DataFrames у pandas. Він вирівнює індекси DataFrames, забезпечуючи належне стекування. Це важливий крок під час вертикального об’єднання DataFrames за допомогою конкатенації в pandas.

приклад: У цьому прикладі код об’єднує дві папки DataFrames,df1>іdf>, ігноруючи вихідні індекси, і зберігає результат у зміннійresult>. Потім він скидає індекс об’єднаного DataFrame

Python3




result>=> pd.concat([df1, df], ignore_index>=>True>)># Concatenate and reset index> result>=> result.reindex(>range>(>8>))> print>(result)>

>

>

Вихід:

   Courses     Fee  0 Matplotlib 25000 1 SSC 25200 2 CHSL 24500 3 Java 24900 4 GFG 20000 5 JS 25000 6 Python 22000 7 Numpy 24000>

Using pd.concat()>зsort=False>для швидшого об’єднання

Спосіб ` pd.concat() ` у бібліотеці pandas Python використовується для об’єднання DataFrames вертикально (вздовж рядків) або горизонтально (вздовж стовпців). Параметр `sort=False` використовується для підвищення швидкості конкатенації шляхом вимкнення сортування отриманого DataFrame.

приклад: У цьому прикладі код використовує бібліотеку pandas для об’єднання двох DataFrames, df1 і df, уздовж їхніх рядків (вісь=0). Параметр sort=False запобігає сортуванню отриманого DataFrame за назвами стовпців.

Python3




result>=> pd.concat([df1, df], sort>=>False>)> print>(result)>

>

>

Вихід:

   Courses     Fee  0 Matplotlib 25000 1 SSC 25200 2 CHSL 24500 3 Java 24900 0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000>

Об’єднайте два або більше фреймів даних Pandas у Python за допомогою pandas.concat()

`pandas.concat()` поєднує два DataFrames вертикально або горизонтально, накладаючи їх один на одного або поруч, забезпечуючи гнучкий спосіб об’єднання даних уздовж заданих осей.

приклад : У цьому прикладіpd.concat()>функція використовується для об’єднання цих кадрів даних по вертикалі, утворюючи новий кадр даних під назвоюresult>, іignore_index=True>використовується для скидання індексу. Кінцевий результат друкується.

Python3




result>=> pd.concat([df, df1], ignore_index>=>True>)> print>(result)>

>

>

Вихід:

   Courses     Fee  0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000 4 Matplotlib 25000 5 SSC 25200 6 CHSL 24500 7 Java 24900>

Concat Multiple DataFrames у Python за допомогою pandas.concat()

Метод pandas.concat() використовується для об’єднання DataFrames вертикально (вздовж рядків) або горизонтально (вздовж стовпців). Він приймає список DataFrames як вхідні дані та об’єднує їх на основі вказаної осі (0 для вертикальної, 1 для горизонтальної).

приклад: У цьому прикладі панди використовуються для створення трьох кадрів даних (df>,df1>, іdf2>), що містить інформацію про курси, вартість, тривалість і знижки. Потім він об’єднує ці кадри даних вертикально за допомогоюpd.concat()>, створюючи новий фрейм даних під назвоюresult>з індексом скидання, а результуючий кадр даних друкується.

Python3

java arraylist




result>=> pd.concat([df, df1, df2], ignore_index>=>True>)> print>(result)>

>

>

Вихід:

   Courses     Fee     Duration     Discount  0 GFG 20000 NaN NaN 1 JS 25000 NaN NaN 2 Python 22000 NaN NaN 3 Numpy 24000 NaN NaN 4 Matplotlib 25000 NaN NaN 5 SSC 25200 NaN NaN 6 CHSL 24500 NaN NaN 7 Java 24900 NaN NaN 8 NaN NaN 30day 1000.0 9 NaN NaN 40days 2300.0 10 NaN NaN 35days 2500.0 11 NaN NaN 60days 2000.0>

Pandas Concat Two DataFrames за допомогою pandas.join() для об’єднання двох DataFrames

Thepandas.join()>метод використовується для об’єднання DataFrames по вертикалі або горизонталі на основі вказаних стовпців, виконуючи об’єднання у стилі SQL. Він об’єднує рядки або стовпці з двох DataFrames на основі загальних значень стовпців, дозволяючи внутрішні, зовнішні, ліві або праві об’єднання.

приклад: У цьому прикладіjoin>метод використовується для об’єднання цих кадрів даних на основі їхніх індексів, у результаті чого утворюється новий кадр даних з назвоюresult>, яка надрукована.

Python3




result>=> df.join(df1)> print>(result)>

>

>

Вихід:

   Courses     Fee     Duration     Discount  0 GFG 20000 30day 1000 1 JS 25000 40days 2300 2 Python 22000 35days 2500 3 Numpy 24000 60days 2000>

Об’єднайте два кадри даних у Python за допомогою DataFrame.append()

` DataFrame.append() ` метод у pandas використовується для об’єднання двох DataFrame по вертикалі, додаючи рядки одного DataFrame під іншим. Він повертає новий DataFrame з об’єднаними даними. Переконайтеся, що обидва DataFrame мають однакові стовпці.

приклад : У цьому прикладі ми використовуємоappend()>метод, у результаті чого створюється новий фрейм даних під назвоюresult>з індексом скидання, який друкується.

Python3




result>=> df.append(df1, ignore_index>=>True>)> print>(result)>

>

>

Вихід:

   Courses     Fee  0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000 4 Matplotlib 25000 5 SSC 25200 6 CHSL 24500 7 Java 24900>