파이썬(Python) - Filter, Reduce 표현식
오늘은 지난 시간에 이어서 파이썬 람다식 및 Filter, Reduce 함수에 대해서 추가로 예제를 작성해보고
설명드리겠습니다.
지난 포스팅에서 다룬 Map 함수와 더불어 데이터 전처리 과정에서 자주 쓰이므로, 학습해 두시면 파이썬의
문법상의 장점을 활용하실 수 있을 거라 생각됩니다.
그러면 문서 하단에서 간단하게 예제를 작성해보겠습니다.
파이썬(Python) - 람다식 및 filter, reduce 함수 예제 코드
파이썬 람다식을 활용하면 데이터를 다루는 부분에 있어서는 타 언어와 다르게 매우 쉽고 직관적인 코드로
다양한 형식의 데이터를 변형 및 가공할 수 있습니다.
lambda_example2.py
12345678910111213141516171819202122232425 import timefrom functools import reduce #시작시간start_time = time.time() if __name__ == '__main__': testArr = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] #filter : 특정 조건에 부합하는 요소만 True로 간주 #reduce : 첫 번째 인덱스의 요소부터 순차적으로 정의된 함수로 처리 #filter + lambda 예제 outArr1 = list(filter(lambda x: x > 5 and x < 15, testArr)) print('Lambda Filter Example1 : ', outArr1) #reduce + lambda 예제 outArr2 = reduce(lambda x, y: x + y, testArr) print('Lambda Reduce Example2 : ', outArr2) #종료시간print("--- %s seconds ---" % (time.time() - start_time)) cs
- 10번 라인 : 테스트를 위한 배열 선언
- 16번 라인 : filter 및 람다식을 활용해서 조건에 맞는 데이터 추출 식
- 20번 라인 : reduce 및 별도로 정의한 함수 또는 람다식을 활용한 데이터 가공- 17, 21번 라인 : 결과 배열 요소 출력
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import time from functools import reduce #시작시간 start_time = time.time() if __name__ == '__main__': testArr = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] #filter : 특정 조건에 부합하는 요소만 True로 간주 #reduce : 첫 번째 인덱스의 요소부터 순차적으로 정의된 함수로 처리 #filter + lambda 예제 outArr1 = list(filter(lambda x: x > 5 and x < 15, testArr)) print('Lambda Filter Example1 : ', outArr1) #reduce + lambda 예제 outArr2 = reduce(lambda x, y: x + y, testArr) print('Lambda Reduce Example2 : ', outArr2) #종료시간 print("--- %s seconds ---" % (time.time() - start_time)) | cs |
- 10번 라인 : 테스트를 위한 배열 선언
- 16번 라인 : filter 및 람다식을 활용해서 조건에 맞는 데이터 추출 식
- 20번 라인 : reduce 및 별도로 정의한 함수 또는 람다식을 활용한 데이터 가공
- 17, 21번 라인 : 결과 배열 요소 출력
파이썬(Python) 데이터 처리 - filter, reduce 예제 소스 실행 화면
아래 이미지로 실제 실행 화면을 확인하실 수 있습니다.
실제 실행 화면
마무리
이번 예제에서는 본격적인 데이터 전처리 관련 포스팅에 앞서서 간단한 람다식 활용및 filter, reduce 함수
관련 예제를 다루는 설명을 드렸습니다.
데이터 분석/기술 전문가를 위해서는 주로 R, Python을 활용하지만, 분석 프로젝트 프로세스의 데이터
수집, 가공 및 분석 등 일련의 작업을 포괄적으로 지원하는 파이썬을 메인으로 많이 사용하는 것 같습니다.
다음 시간에도 파이썬 관련 유용한 주제에 대해서 포스팅 하도록 하겠습니다.
소스코드 다운로드 : py_map_example2.zip.zip
'언어 > Python' 카테고리의 다른 글
파이썬 아나콘다(Anaconda) - 심화 사용법 정리(1) - list, search 명령어 (0) | 2019.01.23 |
---|---|
파이썬(Python) - 데코레이터 (Decorator) 패턴 사용 예제 및 소스코드 (0) | 2018.12.10 |
파이썬(Python) - 람다(lambda)식 및 map 사용 예제 및 소스코드 (0) | 2018.10.31 |
파이썬(Python) - 정규표현식(Regex) 특수문자 제거 설명 및 예제 소스 코드 (3) | 2018.07.20 |
파이썬(Python) - multiprocessing(멀티프로세싱) 설명 및 예제(2) - Process (4) | 2018.06.12 |