Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- IDE #spyder
- ML #핸즈온머신러닝 #학습곡선 #편향분산트레이드오프
- Chap4 #릿지회귀 #정규방정식 #확률적경사하강법 #SGD #규제가있는선형모델
- 키워드추출 #그래프기반순위알고리즘 #RandomSurferModel #MarcovChain #TextRank #TopicRank #EmbedRank
- 라쏘회귀 #엘라스틱넷 #조기종료
- Chap4 #다항회귀 #PolynomialRegression #ML #머신러닝
- adp #데이터분석전문가 #데이터분석자격증 #adp후기 #adp필기
- 선형회귀 #정규방정식 #계산복잡도 #LinearRegression #Python #ML
- 확률적경사하강법 #경사하강법 #머신러닝 #선형회귀 #ML #Chap4
- 티스토리 #수학수식 #수학수식입력 #티스토리블로그 #수식입력
- 핸즈온머신러닝 #handson
- Chap4 #ML #미니배치경사하강법 #경사하강법 #머신러닝 #핸즈온머신러닝
- Chap4
- 경사하강법 #핸즈온머신러닝 #머신러닝 #ML
- python #dataframe #파생변수 #map #lambda #mapping
- 파이썬 #Python #가상환경 #anaconda #python설치 #python가상환경
- python #파이썬 #pandas #dataframe #dataframe생성 #valueerror
- Chap4 #ML #배치경사하강법 #경사하강법 #핸즈온머신러닝 #핸즈온
- 객체의종류 #리스트 #튜플 #딕셔너리 #집합 #Python #파이썬 #list #tuple #dictionary #set
- 티스토리블로그 #티스토리 #PDF #블로그PDF저장
- 인덱싱 #슬라이싱 #python #파이썬 #수정및삭제 #원소의수정 #객체의함수 #keys#values#items#get#len#append#sort#sorted
- Chap4 #핸즈온머신러닝 #머신러닝 #핸즈온머신러닝연습문제
Archives
- Today
- Total
StudyStudyStudyEveryday
Python | map, lambda 이용하여 파생변수 만들기 본문
데이터프레임에서 기존에 있는 변수를 기반으로 파생변수를 만들고 싶은데 if문이나 for문을 이용해 복잡하게 구하기 싫을 때가 있다.
그럴 때 map과 lambda를 이용하면 아주 쉽게 해결이 가능하다.
import pandas as pd
df = pd.DataFrame([[1, 'a'], [2, 'b'], [3, 'c']], columns=['number', 'alphabet'])
df
이런 간단한 데이터프레임이 있다고 해보자.
여기서 'alphabet' 변수에 기반하여 새로운 파생변수를 만들어보겠다.
dict = {'a': '사과', 'b':'바나나', 'c':'전화'}
df['word'] = list(map(lambda x: dict[x], df.alphabet))
df
짠
각 a, b, c에 mapping되는 단어들을 나열한 새로운 변수가 생성되었다.
다들 알겠지만 lambda는 def로 긴 함수문을 만들지 않고도 비슷한 효과를 낼 수 있는 함수다.
map으로 뒤에서 input시킨 df의 alphabet의 값들을 하나씩 x로 대입하면 각 x에 dict의 key로 입력되고, 대응되는 value 값이 나온다.
이 과정을 df.alphabet의 row 길이 만큼 반복하고, 결과로 나온 값을 list화 시켰다.
정말 간단한건데 막상 내가 찾을 때 없길래 기록해둔다.
한 번 외워두면 아주 요긴하다.
'Python' 카테고리의 다른 글
Python | ValueError: Shape of passed values is (3, 1), indices imply (3, 2) (0) | 2023.01.18 |
---|
Comments