tool 공부/PYTHON

파이썬 merge 여러개 한번에 하기

Zziii 2024. 3. 13. 15:08
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
let textNodes = document.querySelectorAll("div.tt_article_useless_p_margin.contents_style > *:not(figure):not(pre)"); textNodes.forEach(function(a) { a.innerHTML = a.innerHTML.replace(/`(.*?)`/g, '$1'); });