Pandas concat 함수

Suraj Joshi 2023년1월30일
  1. pandas.concat()구문
  2. 예 :pandas.concat()메서드를 사용하여 행 축을 따라 2 개의 Pandas 계열 연결
  3. 예 :pandas.concat()메서드를 사용하여 열 축을 따라 2 개의 Pandas 계열 객체 연결
  4. 예 :pandas.concat()메서드를 사용하여 2 개의 Pandas DataFrame 객체 연결
  5. 예 :pandas.concat()메서드를 사용하여 DataFrame을 Series 객체와 연결
Pandas concat 함수

pandas.concat()메서드는 Pandas DataFrame 또는 Series 객체를 연결합니다.

pandas.concat()구문

pandas.concat(
    objs,
    axis=0,
    join="outer",
    ignore_index=False,
    keys=None,
    levels=None,
    names=None,
    verify_integrity=False,
    sort=False,
    copy=True,
)

매개 변수

objs 연결할 Pandas Series 또는 DataFrame 개체의 시퀀스 또는 매핑.
join 결합 방법 (inner또는outer)
axis row(axis = 0) 또는column(axis = 1)을 따라 연결
ignore_index 부울. True인 경우 원래DataFrames의 색인이 무시됩니다.
keys 결과 인덱스에 식별자를 추가하는 시퀀스
levels MultiIndex를 만드는 데 사용할 수준
names MultiIndex의 레벨 이름
verify_integrity 부울. True인 경우 중복 확인
sort 부울. joinouter일 때 아직 정렬되지 않은 경우 비 연결 축을 정렬합니다.
copy 부울. False인 경우 불필요한 데이터 복사 방지

반환

모든Series개체가axis = 0을 따라 연결된 경우Series개체를 반환합니다. 연결할 개체가DataFrame이거나Series개체가axis = 1을 따라 연결된 경우DataFrame개체를 반환합니다.

예 :pandas.concat()메서드를 사용하여 행 축을 따라 2 개의 Pandas 계열 연결

import pandas as pd

ser_1 = pd.Series([20, 45, 36, 45])
print("Series-1:")
print(ser_1, "\n")

ser_2 = pd.Series([48, 46, 34, 38])
print("Series-2:")
print(ser_2, "\n")

concatenated_ser = pd.concat([ser_1, ser_2])

print("Result after Concatenation of ser_1 and ser_2:")
print(concatenated_ser)

출력:

Series-1:
0    20
1    45
2    36
3    45
dtype: int64

Series-2:
0    48
1    46
2    34
3    38
dtype: int64

Result after Concatenation of ser_1 and ser_2:
0    20
1    45
2    36
3    45
0    48
1    46
2    34
3    38
dtype: int64

Series오브젝트ser_1ser_2axis = 0을 따라 또는 행 방향으로 연결합니다. Series개체 중 하나의 행이 다른 개체 위에 쌓입니다. 연결된 개체는 기본적으로 상위 개체에서index값을 가져옵니다. ignore_index = True를 설정하여 연결된 객체에 새 인덱스 값을 할당 할 수 있습니다.

import pandas as pd

ser_1 = pd.Series([20, 45, 36, 45])
print("Series-1:")
print(ser_1, "\n")

ser_2 = pd.Series([48, 46, 34, 38])
print("Series-2:")
print(ser_2, "\n")

concatenated_ser = pd.concat([ser_1, ser_2], ignore_index=True)

print("Result after Concatenation of ser_1 and ser_2:")
print(concatenated_ser)

출력:

Series-1:
0    20
1    45
2    36
3    45
dtype: int64

Series-2:
0    48
1    46
2    34
3    38
dtype: int64

Result after Concatenation of ser_1 and ser_2:
0    20
1    45
2    36
3    45
4    48
5    46
6    34
7    38
dtype: int64

Series개체를 연결하고 연결된Series개체에 새 인덱스 값을 할당합니다.

예 :pandas.concat()메서드를 사용하여 열 축을 따라 2 개의 Pandas 계열 객체 연결

pandas.concat()메소드에서axis = 1을 설정하여Series객체를 가로 또는 열 축을 따라 연결합니다.

import pandas as pd

ser_1 = pd.Series([20, 45, 36, 45])
print("Series-1:")
print(ser_1, "\n")

ser_2 = pd.Series([48, 46, 34, 38])
print("Series-2:")
print(ser_2, "\n")

concatenated_ser = pd.concat([ser_1, ser_2], axis=1)

print("Result after Horizontal Concatenation of ser_1 and ser_2:")
print(concatenated_ser)

출력:

Series-1:
0    20
1    45
2    36
3    45
dtype: int64

Series-2:
0    48
1    46
2    34
3    38
dtype: int64

Result after Horizontal Concatenation of ser_1 and ser_2:
    0   1
0  20  48
1  45  46
2  36  34
3  45  38

Series오브젝트ser_1ser_2를 수평으로 스택합니다.

예 :pandas.concat()메서드를 사용하여 2 개의 Pandas DataFrame 객체 연결

import pandas as pd

df_1 = pd.DataFrame({"Col-1": [1, 2, 3, 4], "Col-2": [5, 6, 7, 8]})
print("DataFrame-1:")
print(df_1, "\n")

df_2 = pd.DataFrame({"Col-1": [10, 20, 30, 40], "Col-2": [50, 60, 70, 80]})
print("DataFrame-2:")
print(df_2, "\n")

concatenated_df = pd.concat([df_1, df_2], ignore_index=True)

print("Result after Horizontal Concatenation of df_1 and df_2:")
print(concatenated_df)

출력:

DataFrame-1:
   Col-1  Col-2
0      1      5
1      2      6
2      3      7
3      4      8

DataFrame-2:
   Col-1  Col-2
0     10     50
1     20     60
2     30     70
3     40     80

Result after Horizontal Concatenation of df_1 and df_2:
   Col-1  Col-2
0      1      5
1      2      6
2      3      7
3      4      8
4     10     50
5     20     60
6     30     70
7     40     80

DataFrame개체df_1df_2를 연결합니다. ignore_index = True를 설정하여 연결된 DataFrame에 새 인덱스를 할당합니다.

예 :pandas.concat()메서드를 사용하여 DataFrame을 Series 객체와 연결

import pandas as pd

df = pd.DataFrame({"Col-1": [1, 2, 3, 4], "Col-2": [5, 6, 7, 8]})
print("DataFrame Object:")
print(df, "\n")

ser = pd.Series([48, 46, 34, 38])
print("Series Object:")
print(ser, "\n")

ser_df = pd.concat([df, ser], axis=1)

print("Concatenation of ser and df:")
print(ser_df)

출력:

DataFrame Object:
   Col-1  Col-2
0      1      5
1      2      6
2      3      7
3      4      8

Series Object:
0    48
1    46
2    34
3    38
dtype: int64

Concatenation of ser and df:
   Col-1  Col-2   0
0      1      5  48
1      2      6  46
2      3      7  34
3      4      8  38

DataFrame 개체dfSeries개체ser를 함께 연결합니다. 연결은pandas.concat()메서드에서axis = 1을 설정 했으므로 열 방식으로 수행됩니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

관련 문장 - Pandas DataFrame