logo

두 개 이상의 Pandas DataFrame을 연결하는 방법은 무엇입니까?

pandas.concat() 메서드를 사용하면 두 개 이상의 데이터 프레임을 연결할 수 있습니다. Pandas의 concat()은 행이나 열의 데이터 프레임을 결합하여 작동합니다. 행(축=0) 또는 열(축=1)을 따라 두 개 이상의 데이터 프레임을 연결할 수 있습니다. 이번 글에서는 두 개 이상을 연결하거나 추가하는 방법을 살펴보겠습니다. 팬더 데이터프레임 .

두 개 이상의 Pandas DataFrames Python 연결

DataFrame을 수직 또는 수평으로 연결하는 다양한 방법이 있습니다. 여기서는 DataFrame을 수직 또는 수평으로 연결하는 데 일반적으로 사용되는 몇 가지 방법을 논의합니다. 그것들은 다음과 같습니다.



  • 두 Pandas DataFrame 연결
  • Using> pd.merge()> 두 개의 DataFrame을 연결하려면
  • pd.DataFrame.reindex()> 인덱스 정렬을 통한 수직 연결의 경우
  • Using pd.concat()>~와 함께sort=False>더 빠른 연결을 위해
  • pandas.concat()을 사용하여 두 개의 DataFrame 연결
  • 다음을 사용하여 여러 DataFrame 연결 pandas.concat()
  • 사용 팬더.조인() 두 개의 DataFrame을 결합하려면
  • 사용 데이터프레임.append() 두 개의 DataFrame을 연결하려면

샘플 DataFrame 만들기

지금 연결할 두 개의 데이터 프레임을 만듭니다. 데이터 프레임을 생성하기 위해 우리는 사용할 것입니다 넘피 그리고 팬더.

파이썬3




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>

두 개의 Pandas DataFrame을 수직 및 수평으로 연결

우리는 두 개의 데이터 프레임을 pd.concat() 목록 형식의 메소드를 사용하고 연결하려는 축을 언급합니다. 즉, 축=0 행을 따라 연결하고, 축=1 열을 따라 연결합니다.

파이썬3




# 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>

두 개의 DataFrame을 연결하기 위해 pd.merge()를 사용하여 DataFrame 연결

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.>

파이썬3




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() pandas에서 DataFrame을 수직으로 연결하는 데 사용됩니다. DataFrame의 인덱스를 정렬하여 적절한 스택을 보장합니다. Pandas에서 연결을 사용하여 DataFrame을 수직으로 결합할 때 중요한 단계입니다.

예: 이 예제 코드에서는 두 개의 Panda DataFrame을 연결합니다.df1>그리고df>, 원래 인덱스를 무시하고 결과를 변수에 저장합니다.result>. 그런 다음 연결된 DataFrame의 인덱스를 재설정합니다.

파이썬3




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

>

>

출력 :

jdbc
   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() Python의 pandas 라이브러리에서 `는 DataFrame을 수직(행을 따라) 또는 수평(열을 따라)으로 결합하는 데 사용됩니다. 결과 DataFrame의 정렬을 비활성화하여 연결 속도를 향상시키기 위해 'sort=False' 매개변수가 사용됩니다.

예 : 이 예제 코드에서는 pandas 라이브러리를 사용하여 해당 행(축=0)을 따라 두 개의 DataFrame(df1 및 df)을 연결합니다. sort=False 매개변수는 결과 DataFrame이 열 이름별로 정렬되는 것을 방지합니다.

파이썬3




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.concat()을 사용하여 Python에서 두 개 이상의 Pandas DataFrame을 연결합니다.

`pandas.concat()`은 두 개의 DataFrame을 수직 또는 수평으로 결합하여 서로 위에 또는 나란히 쌓아 지정된 축을 따라 데이터를 연결하는 유연한 방법을 제공합니다.

:이 예에서는pd.concat()>함수는 이러한 데이터프레임을 수직으로 연결하여result>, 그리고ignore_index=True>인덱스를 재설정하는 데 사용됩니다. 최종 결과가 인쇄됩니다.

파이썬3




자바 클래스 예
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>

pandas.concat()을 사용하여 Python에서 여러 DataFrame 연결

pandas.concat() 메서드는 DataFrame을 수직(행을 따라) 또는 수평(열을 따라)으로 결합하는 데 사용됩니다. DataFrame 목록을 입력으로 사용하고 지정된 축(세로의 경우 0, 가로의 경우 1)을 기준으로 연결합니다.

예 : 이 예에서는 팬더를 사용하여 세 개의 데이터 프레임(df>,df1>, 그리고df2>) 강좌, 비용, 기간, 할인에 대한 정보를 나타냅니다. 그런 다음 다음을 사용하여 이러한 데이터프레임을 수직으로 연결합니다.pd.concat()>, 라는 이름의 새 데이터프레임을 생성합니다.result>재설정 인덱스를 사용하면 결과 데이터 프레임이 인쇄됩니다.

파이썬3




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는 pandas.join()을 사용하여 두 개의 DataFrame을 연결하여 두 개의 DataFrame을 결합합니다.

그만큼pandas.join()>메소드는 SQL 스타일 조인을 수행하여 지정된 열을 기반으로 DataFrame을 수직 또는 수평으로 연결하는 데 사용됩니다. 공통 열 값을 기반으로 두 DataFrame의 행 또는 열을 결합하여 내부, 외부, 왼쪽 또는 오른쪽 조인을 허용합니다.

예 : 이 예에서는join>메서드는 인덱스를 기반으로 이러한 데이터프레임을 결합하는 데 사용되며, 그 결과result>, 인쇄됩니다.

파이썬3




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>

DataFrame.append()를 사용하여 Python에서 두 데이터프레임을 결합합니다.

` 데이터프레임.append() pandas의 메소드는 두 개의 DataFrame을 수직으로 연결하여 한 DataFrame의 행을 다른 DataFrame 아래에 추가하는 데 사용됩니다. 결합된 데이터가 포함된 새 DataFrame을 반환합니다. 두 DataFrame에 동일한 열이 있는지 확인하세요.

: 이 예에서는append()>메서드를 사용하여 이름이 지정된 새 데이터프레임이 생성됩니다.result>인쇄되는 재설정 색인이 있습니다.

파이썬3




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

>

>

산출:

nat 대 침대
   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>