728x90
반응형
여러개 데이터프레임 한번에 merge 하기
from functools import reduce
pop = reduce(lambda x,y: pd.merge(x,y, on='columns1', how='outer'), [df_1, df_2, df_3, df_4])
아래는 설명
위 코드는 functools 모듈에서 reduce 함수를 가져와 사용하고 있다.
reduce 함수는 리스트와 같은 반복 가능한(iterable) 객체에 함수를 순차적으로 적용하여 하나의 값으로 축소하는 데 사용된다.
여기서는 reduce 함수를 활용하여 pd.merge() 함수를 반복적으로 적용하여 여러 데이터프레임을 하나의 데이터프레임으로 병합하고 있다.
reduce() 함수는 다음과 같은 구조를 가진다.
reduce(function, iterable[, initializer])
- function: 두 인수를 받아들이는 함수로, 첫 번째 인수는 누적된 값이고 두 번째 인수는 반복 가능한(iterable) 객체의 요소이다.
- iterable: 반복 가능한(iterable) 객체로, 여기서는 여러 데이터프레임의 리스트이다.
- initializer: 선택적으로 지정할 수 있는 초기 값으로, 누적된 값의 초기 상태를 나타낸다.
위 코드에서는 먼저 pd.merge() 함수를 이용하여 첫 번째와 두 번째 데이터프레임을 column1을 기준으로 외부 조인(how='outer')하여 병합한다. 그런 다음 이전에 병합된 결과와 다음 데이터프레임을 다시 column1을 기준으로 외부 조인하여 병합한다. 이러한 과정을 리스트 내의 모든 데이터프레임에 대해 반복하고, 마지막으로 하나의 데이터프레임으로 축소된 값을 반환한다.
728x90
반응형
'tool 공부 > PYTHON' 카테고리의 다른 글
파이썬 행 개수 늘리기 (0) | 2024.07.04 |
---|---|
df.head와 print(df.head)의 차이 (0) | 2024.03.14 |
kiwi(키위) 형태소 분석기 설치 (0) | 2024.02.20 |
파이썬 중복 처리 (1) | 2023.11.24 |
파이썬 결측치와 공백 다루기 (0) | 2023.08.03 |