일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터 엔지니어
- 데이터사이언티스트
- 파이썬오류
- 데이터분석
- 데이터리안
- 데이터리안웨비나
- vader감정분석
- 데이터분석가
- 회귀분석 프로젝트
- ridge 회귀
- 판다스
- 데이터리안월간웨비나
- 파이썬기초
- 파이썬
- 블로그성장일기
- ml 실전 프로젝트
- 머신러닝 회귀 모델
- 누적조회수1만명
- 데이터엔지니어
- 데이터엔지니어링시작하기
- 데이터엔지니어링배우기
- 데이터엔지니어링
- 학생 성적 예측
- ai관련 직업
- Python
- 데이터직무
- 블로그성장글
- 데이터 분석가
- python 데이터 분석
- kaggle 프로젝트
- Today
- Total
데이터 분석가 Damla's blog
파이썬에서 IF문쓰기 본문
파이썬에서 IF문은 Boolean Masking이라고 한다
Step1. 조건문을 만든다
Step2. 조건문을 적용할 자료를 부르고 Mask함수를 적용한다.
논리연산자
and or not
관계연산자
부등호 == , !=, >, <, >=, <=
이것을 활용하여 조건을 만들어야 한다
df.mask(cond, 참일때의 값).mask(~cond. "거짓일때의 값")
Step1. 원하는 파일을 불러오고 그파일의 값을 계산한다.
여기서는 "score"컬럼이 Null값인지 확인했다.
import pandas as pd
df1 = pd.read_excel('filename.xlsx', sheet_name = 1)
cond1 = df1["score"].isnull()
Step2. 테이블에 컬럼을 하나더 만든다
컬럼을 하나더 만다는것은 df1["컬럼명"] = 컬럼에 들어갈 내용
이렇게 하면 된다 (리스트형식으로 컬럼을 추가하는것!)
df1["Yes OR Not"] = df1["score"].mask(cond1, "X").mask(~cond1, "O")
참고 _ condition = cond 그리고 dataframe = df
라고 줄여서 활용하고 cond1 의 조건에 부합한다면 X를 나타내고 그렇지 않다면 O을 나타낸다.
만약에 마지막에 .mask가 없다면 원래 점수 테이블에 있는 값이 나오게 된다.
.mask(~cond1, "X")
하는 것도 방법이지만 여기서 더 쉬운 방법은
.fillna("X")
컬럼을 만들어서 그안에 내용을 넣을 수 있지만 그렇지 않은 경우 (원래 값을 치환하는 경우도
cond1 = pdf1 >= 1
pdf1 = pdf1.mask(cond1, 'O").fillna("X")
pdf1
한번더!
성적에 따라 ABC로 학점을 주고 싶다면
여러가지 조건을 만들고 그조건에 해당하면 나타낼 표식을 설정해야한다.
cond2 = df1["score"] > 70
cond3 = df1["score"] > 90
df1["result"] = df1["score"].mask(cond2, "B").mask(cond3, "A").mask(~cond2, "C")
df1
numpy를 사용하면 .mask를 여러번쓰지 않고 np.where을 쓰면 된다
참고 자료
엑셀투 파이썬 "엑셀의 If조건문"
https://www.youtube.com/watch?v=r61OI_E6T6I
'파이썬(Python) > Basic & Data analyze' 카테고리의 다른 글
[파이썬] Pandas 데이터프레임(Data Frame)이란? (0) | 2022.12.11 |
---|---|
[Pandas] 데이터 프레임 열다루기 (0) | 2022.12.11 |
파이썬으로 다중조건 VLOOKUP 하기 (1) | 2022.10.18 |
파이썬으로 VLOOKUP하기 (1) | 2022.10.05 |
[파이썬] 랜덤(Random)함수, Input, import 활용 (0) | 2022.07.01 |