Just Fighting
세 개 이상의 데이터 프레임 합치기(reduce) 본문
728x90
세 개 이상의 데이터 프레임을 합치기 위해 검색을 해봤더니
reduce함수를 사용해야 한다고 해서 찾아보고 연습해보았다.
https://docs.python.org/3/library/functools.html?highlight=reduce#functools.reduce
reduce함수는 어떤 함수를 누적해서 사용할 때 사용한다.
위에 문서에 있는 예시를 이용해 연습해보았다.
1부터 5까지의 수를 더하는 예시이다.
reduce함수 안에 사용할 함수와 누적해서 사용할 데이터를 넣어주면 된다.
((((1+2)+3)+4)+5) 이러한 방식으로 함수를 적용하게 된다.
from functools import reduce
temp = [1,2,3,4,5]
reduce(lambda x, y: x+y,temp)
이것을 데이터 프레임 합치는 것에 적용해보았다.
데이터 프레임 3개를 임의로 만들어서 연습했다.
3개의 데이터 프레임이 공통으로 가진 'id'를 기준으로 merge했다.
data1 = pd.DataFrame({'id':[1,2,3], 'korean':[98,24,95]})
data2 = pd.DataFrame({'id':[1,2,3], 'math':[54,84,20]})
data3 = pd.DataFrame({'id':[1,2,3], 'english':[85,22,48]})
data_list = [data1, data2, data3]
reduce(lambda x, y : pd.merge(x,y,on='id'), data_list)
원하는 모양대로 데이터가 잘 합쳐진 것을 확인할 수 있었다!!
728x90
'Python' 카테고리의 다른 글
트위터 API 사용하기 (0) | 2022.06.18 |
---|---|
[Python] map() 사용하기 (0) | 2022.05.24 |
결측값 처리하기 2 (평균, 중앙값) (0) | 2022.03.23 |
[Python] Counter() 이용해 카운트 하기 (0) | 2022.03.17 |
[Python] 크롤링한 데이터 csv로 변환하기 (0) | 2022.03.01 |
Comments