You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 파이썬 nan 치환 on Google, you do not find the information you need! Here are the best content compiled and compiled by the Chewathai27.com/to team, along with other related topics such as: 파이썬 nan 치환 파이썬 nan 0으로, 파이썬 NaN 조건문, Numpy nan to zero, 파이썬 NaN 제거, Pandas NaN to 0, 파이썬 fillna, DataFrame NaN 제거, Pandas NaN to null
Pandas DataFrame의 열에서 모든 NaN 값을 0으로 바꾸는 방법 | Delft Stack
- Article author: www.delftstack.com
- Reviews from users: 10263 Ratings
- Top rated: 3.5
- Lowest rated: 1
- Summary of article content: Articles about Pandas DataFrame의 열에서 모든 NaN 값을 0으로 바꾸는 방법 | Delft Stack 큰 데이터 세트로 작업 할 때 데이터 세트에 NaN 값이 있는데,이 값을 평균 … pythonCopy import pandas as pd import numpy as np data = {‘name’: … …
- Most searched keywords: Whether you are looking for Pandas DataFrame의 열에서 모든 NaN 값을 0으로 바꾸는 방법 | Delft Stack 큰 데이터 세트로 작업 할 때 데이터 세트에 NaN 값이 있는데,이 값을 평균 … pythonCopy import pandas as pd import numpy as np data = {‘name’: … pandas 라이브러리의 df.fillna(), df.replace() 메소드를 사용하여 DataFrame에서 NaN 값을 0으로 바꿉니다.
- Table of Contents:
모든 NaN 값을 0으로 바꾸는 dffillna() 메소드
dfreplace()메소드
관련 문장 – Pandas NaN
[python] 팬더 NaN을 공백 / 빈 문자열로 바꿉니다. – 리뷰나라
- Article author: daplus.net
- Reviews from users: 12695 Ratings
- Top rated: 4.8
- Lowest rated: 1
- Summary of article content: Articles about [python] 팬더 NaN을 공백 / 빈 문자열로 바꿉니다. – 리뷰나라 아래와 같이 팬더 데이터 프레임이 있습니다. 1 2 3 0 a NaN read 1 b l unread 2 c NaN read. 빈 문자열로 NaN 값을 제거하여 다음과 같이 나타납니다. …
- Most searched keywords: Whether you are looking for [python] 팬더 NaN을 공백 / 빈 문자열로 바꿉니다. – 리뷰나라 아래와 같이 팬더 데이터 프레임이 있습니다. 1 2 3 0 a NaN read 1 b l unread 2 c NaN read. 빈 문자열로 NaN 값을 제거하여 다음과 같이 나타납니다.
- Table of Contents:
글 탐색
최신 글
카테고리
태그
[Python/파이썬] Pandas 기초 정리 : 원소 바꾸기, dropna(), fillna()
- Article author: ybworld.tistory.com
- Reviews from users: 9481 Ratings
- Top rated: 3.1
- Lowest rated: 1
- Summary of article content: Articles about [Python/파이썬] Pandas 기초 정리 : 원소 바꾸기, dropna(), fillna() 오늘은 데이터프레임의 원소값을 바꾸는 방법과 결측치(NaN)을 처리하는 방법에 대해 정리하였다. 데이터프레임과 원본은 이전편과 그대로 사용 한다. …
- Most searched keywords: Whether you are looking for [Python/파이썬] Pandas 기초 정리 : 원소 바꾸기, dropna(), fillna() 오늘은 데이터프레임의 원소값을 바꾸는 방법과 결측치(NaN)을 처리하는 방법에 대해 정리하였다. 데이터프레임과 원본은 이전편과 그대로 사용 한다. ※ 이 글을 쓰는 사람은 SW 비전공자입니다. ※ 개인 공부를 위해 정리하는 글이며, 작성한 코드들은 효율성, 깔끔함(?) 등과는 거리가 멀 수 있습니다. 1편 : 2021.03.31 – [코딩/Python] – [Python/파이썬] Pand..
- Table of Contents:
태그
‘코딩Python’ Related Articles
공지사항
최근 포스트
태그
검색
전체 방문자
티스토리툴바
[Python] Pandas – dataframe의 특정 값을 NaN으로 변경
- Article author: velog.io
- Reviews from users: 19030 Ratings
- Top rated: 4.8
- Lowest rated: 1
- Summary of article content: Articles about [Python] Pandas – dataframe의 특정 값을 NaN으로 변경 import numpy as np # df의 0을 NaN 값으로 변경 df = df.replace(0, np.NaN). profile · Jen Y · 이전 포스트. [Python] Pandas – Dataframe 컬럼명 … …
- Most searched keywords: Whether you are looking for [Python] Pandas – dataframe의 특정 값을 NaN으로 변경 import numpy as np # df의 0을 NaN 값으로 변경 df = df.replace(0, np.NaN). profile · Jen Y · 이전 포스트. [Python] Pandas – Dataframe 컬럼명 … 개발자들을 위한 블로그 서비스. 어디서 글 쓸지 고민하지 말고 벨로그에서 시작하세요.
- Table of Contents:
[Python] Missing Data(NA, NaN) 결측값 처리
- Article author: ordo.tistory.com
- Reviews from users: 26344 Ratings
- Top rated: 4.3
- Lowest rated: 1
- Summary of article content: Articles about [Python] Missing Data(NA, NaN) 결측값 처리 [Python] Missing Data(NA, NaN) 결측값 처리. JKyun 2017. 12. 6. 23:08. 안녕하세요. 우주신 입니다. 데이터 분석에 있어 가장 중요한 과정은 결측값 및 특이값을 … …
- Most searched keywords: Whether you are looking for [Python] Missing Data(NA, NaN) 결측값 처리 [Python] Missing Data(NA, NaN) 결측값 처리. JKyun 2017. 12. 6. 23:08. 안녕하세요. 우주신 입니다. 데이터 분석에 있어 가장 중요한 과정은 결측값 및 특이값을 … 안녕하세요. 우주신 입니다. 데이터 분석에 있어 가장 중요한 과정은 결측값 및 특이값을 얼마나 잘 처리하는지의 유무에 달려 있다고 생각하는데요, 오늘은 pandas를 이용하여 NA, NaN 데이터를 처리하는 가장..
- Table of Contents:
태그
관련글
댓글1
공지사항
최근글
인기글
최근댓글
태그
전체 방문자
python – 파이썬 DataFrame 특정 조건의 값들 nan 으로 바꾸기 | Hashcode
- Article author: hashcode.co.kr
- Reviews from users: 36285 Ratings
- Top rated: 4.5
- Lowest rated: 1
- Summary of article content: Articles about python – 파이썬 DataFrame 특정 조건의 값들 nan 으로 바꾸기 | Hashcode 판다스에서 pd.read_csv로 데이터를 읽어와서 pd = pd.read_csv(‘data.csv’) data= pd[‘header’] 읽어온 값에 0이 있어서, 0인값을 nan으로 주고 … …
- Most searched keywords: Whether you are looking for python – 파이썬 DataFrame 특정 조건의 값들 nan 으로 바꾸기 | Hashcode 판다스에서 pd.read_csv로 데이터를 읽어와서 pd = pd.read_csv(‘data.csv’) data= pd[‘header’] 읽어온 값에 0이 있어서, 0인값을 nan으로 주고 … 판다스에서 pd.read_csv로 데이터를 읽어와서 pd = pd.read_csv('data.csv') data= pd['header'] 읽어온 값에 0이 있어서, 0인값을 nan으로 주고싶습니다. 그래서 data = data.replace(0,np.NAN) 을 주면 0이 nan으로 바뀜니다.그런데 음수도 없얘고 싶어서, 다시 데이터 불러온 후에 조건을 달았는데 data= pd['header'] data =replace, 판다스, 팬더스, pandas, #python, pyhton, 파이썬, 파이선, #파이썬, phython, python
- Table of Contents:
파이썬 DataFrame 특정 조건의 값들 nan 으로 바꾸기
0
2
답변을 하려면 로그인이 필요합니다
하나의 계정으로 통합되었습니다
[Pandas] DataFrame 결측치(NaN) 처리
- Article author: seong6496.tistory.com
- Reviews from users: 31869 Ratings
- Top rated: 4.6
- Lowest rated: 1
- Summary of article content: Articles about [Pandas] DataFrame 결측치(NaN) 처리 [Pandas] DataFrame 결측치(NaN) 처리 · Python/Pandas. 2021. 1. 30. 12:55. 반응형. 데이터를 수집하면 전산오류나 사람의 실수로 결측치가 발생하게 됩니다. …
- Most searched keywords: Whether you are looking for [Pandas] DataFrame 결측치(NaN) 처리 [Pandas] DataFrame 결측치(NaN) 처리 · Python/Pandas. 2021. 1. 30. 12:55. 반응형. 데이터를 수집하면 전산오류나 사람의 실수로 결측치가 발생하게 됩니다. 데이터를 수집하면 전산오류나 사람의 실수로 결측치가 발생하게 됩니다. 특히 외부에서 데이터를 가져오면 더욱 그럴 수 밖에 없는데 결측치를 방치하고 알고리즘에 데이터셋을 넣게 되면 아무리 좋은 알고리즘이..데이터분석, 코딩, 수학을 융합하는 몸짓
- Table of Contents:
[Python] Pandas – dataframe의 특정 값을 NaN으로 변경
- Article author: bjy2.tistory.com
- Reviews from users: 34209 Ratings
- Top rated: 3.9
- Lowest rated: 1
- Summary of article content: Articles about [Python] Pandas – dataframe의 특정 값을 NaN으로 변경 0을 NaN으로 변경 import numpy as np df = df.replace(0, np.NaN) …
- Most searched keywords: Whether you are looking for [Python] Pandas – dataframe의 특정 값을 NaN으로 변경 0을 NaN으로 변경 import numpy as np df = df.replace(0, np.NaN) 0을 NaN으로 변경 import numpy as np df = df.replace(0, np.NaN)
- Table of Contents:
태그
‘PythonPandas’ Related Articles
티스토리툴바
[pandas] DataFrame의 0을 NaN으로 변경하는 방법
- Article author: bkool.tistory.com
- Reviews from users: 31381 Ratings
- Top rated: 3.2
- Lowest rated: 1
- Summary of article content: Articles about [pandas] DataFrame의 0을 NaN으로 변경하는 방법 Machine Learning. [pandas] DataFrame의 0을 NaN으로 변경하는 방법. whypy 2018. 3. 29. 12:09. df = df.replace(0, np.NaN). 저작자표시. 태그목록. …
- Most searched keywords: Whether you are looking for [pandas] DataFrame의 0을 NaN으로 변경하는 방법 Machine Learning. [pandas] DataFrame의 0을 NaN으로 변경하는 방법. whypy 2018. 3. 29. 12:09. df = df.replace(0, np.NaN). 저작자표시. 태그목록. df = df.replace(0, np.NaN)
- Table of Contents:
[파이썬] 결측치(Na, NaN, Null) 제거/변환하기!
- Article author: heytech.tistory.com
- Reviews from users: 19988 Ratings
- Top rated: 4.5
- Lowest rated: 1
- Summary of article content: Articles about [파이썬] 결측치(Na, NaN, Null) 제거/변환하기! 오늘은 파이썬을 통해 데이터프레임 내 결측치(Na, NaN, Null)를 제거/치환하는 방법을 공유해 드립니다. 바로 시작하죠! …
- Most searched keywords: Whether you are looking for [파이썬] 결측치(Na, NaN, Null) 제거/변환하기! 오늘은 파이썬을 통해 데이터프레임 내 결측치(Na, NaN, Null)를 제거/치환하는 방법을 공유해 드립니다. 바로 시작하죠! 오늘은 파이썬을 통해 데이터프레임 내 결측치(Na, NaN, Null)를 제거/치환하는 방법을 공유해 드립니다. 바로 시작하죠! 라이브러리 import import numpy as np import pandas as pd 결측치 존재유무 확인 # 데이..
- Table of Contents:
Hey Tech
[파이썬] 결측치(Na NaN Null) 제거변환하기! 본문라이브러리 import
결측치 존재유무 확인
결측치 제거하는 방법
결측치를 특정 데이터로 변환하기
티스토리툴바
See more articles in the same category here: 218+ tips for you.
Pandas DataFrame의 열에서 모든 NaN 값을 0으로 바꾸는 방법
큰 데이터 세트로 작업 할 때 데이터 세트에 NaN 값이 있는데,이 값을 평균 값이나 적절한 값으로 바꾸려고합니다. 예를 들어, 학생의 채점 목록이 있고 일부 학생은 퀴즈를 시도하지 않아 시스템이 0.0 대신 NaN 으로 자동 입력되었습니다. 이 작업을 수행하는 다른 방법은 다음과 같습니다.
다음 섹션에서 같은 DataFrame 을 다음과 같이 사용할 것입니다.
import pandas as pd import numpy as np data = {‘name’: [‘Oliver’, ‘Harry’, ‘George’, ‘Noah’], ‘percentage’: [90, 99, 50, 65], ‘grade’: [88, np.nan, 95,np.nan]} df = pd.DataFrame(data) print(df)
다음은 NaN 등급의 데이터 프레임입니다.
Please enable JavaScript Doc Translator: 문서 번역기는 어떻게 사용합니까?
name percentage grade 0 Oliver 90 88.0 1 Harry 99 NaN 2 George 50 95.0 3 Noah 65 NaN
모든 NaN 값을 0으로 바꾸는 df.fillna() 메소드
NaN 값을 df.fillna() 메소드의 도움으로 대체하자.
import pandas as pd import numpy as np data = {‘name’: [‘Oliver’, ‘Harry’, ‘George’, ‘Noah’], ‘percentage’: [90, 99, 50, 65], ‘grade’: [88, np.nan, 95,np.nan]} df = pd.DataFrame(data) df = df.fillna(0) print(df)
다음은 NaN 이 0으로 대체 된 출력입니다.
name percentage grade 0 Oliver 90 88.0 1 Harry 99 0.0 2 George 50 95.0 3 Noah 65 0.0
df.fillna() 메소드는 NaN 값을 주어진 값으로 채 웁니다. inplace 매개 변수가 True 로 설정되어 있지 않으면 객체 데이터는 변경되지 않지만 기본적으로 새 데이터 프레임을 반환합니다.
inplace 매개 변수를 True 로 설정하여 위의 코드를 다시 작성할 수 있습니다.
import pandas as pd import numpy as np data = {‘name’: [‘Oliver’, ‘Harry’, ‘George’, ‘Noah’], ‘percentage’: [90, 99, 50, 65], ‘grade’: [88, np.nan, 95,np.nan]} df = pd.DataFrame(data) df.fillna(0, inplace=True) print(df)
df.replace() 메소드
이 메소드는 NaN 을 0으로 대체하기 위해 df.fillna() 와 동일하게 작동합니다. df.replace() 는 다른 숫자를 대체하는데 사용될 수도 있습니다. 코드를 살펴 보자.
import pandas as pd import numpy as np data = {‘name’: [‘Oliver’, ‘Harry’, ‘George’, ‘Noah’], ‘percentage’: [90, 99, 50, 65], ‘grade’: [88, np.nan, 95,np.nan]} df = pd.DataFrame(data) nan_replaced = df.replace(np.nan,0) print(nan_replaced)
출력은 다음과 같습니다.
[Python/파이썬] Pandas 기초 정리 : 원소 바꾸기, dropna(), fillna()
반응형
※ 이 글을 쓰는 사람은 SW 비전공자입니다.
※ 개인 공부를 위해 정리하는 글이며, 작성한 코드들은 효율성, 깔끔함(?) 등과는 거리가 멀 수 있습니다.
1편 : 2021.03.31 – [코딩/Python] – [Python/파이썬] Pandas 기초 정리 : Series, Dataframe 개념 정리
2편 : 2021.04.01 – [코딩/Python] – [Python/파이썬] Pandas 기초 정리 : 엑셀 파일(.xlsx) Dataframe으로 만들기
3편 : 2021.04.03 – [코딩/Python] – [Python/파이썬] Pandas 기초 정리 : Dataframe 내부 데이터 조회 방법
4편 : 2021.04.05 – [코딩/Python] – [Python/파이썬] Pandas 기초 정리 : Dataframe 행, 열 추가 방법
5편 : 2021.04.11 – [코딩/Python] – [Python/파이썬] Pandas 기초 정리 : Dataframe 행, 열 삭제하기(drop 함수)
6편 : 2021.04.13 – [코딩/Python] – [Python/파이썬] Pandas 기초 정리 : 원소바꾸기, dropna(), fillna()
7편 : 2021.04.24 – [코딩/Python] – [Python/파이썬] Pandas Dataframe 결합 : Concat
8편 : 2021.04.25 – [코딩/Python] – [Python/파이썬] Pandas Dataframe 결합 : Merge
1) Dataframe의 행, 열 이름 변경 2) Dataframe 조회 -. 인덱싱 -. 슬라이싱 -. 열 조회 -. 원소 조회 3) 행 열 추가하기 4) 행 삭제하기(drop) 4) 원소값 바꾸기 5) 결측치(NaN) 관련
오늘은 데이터프레임의 원소값을 바꾸는 방법과 결측치(NaN)을 처리하는 방법에 대해 정리하였다.
데이터프레임과 원본은 이전편과 그대로 사용 한다.
<이전 데이터프레임 코드>
import pandas as pd #dataframe 생성(엑셀 파일 통해 생성) df = pd.read_excel(“df_test.xlsx”, engine=”openpyxl”) print(df)
이름 국어 영어 수학 0 YB 100 90 80 1 SW 70 60 50 2 EJ 40 30 20 3 HJ 10 5 1
1. 원소값 바꾸기
말 그대로 데이터 프레임의 특정 위치 원소값을 바꾸는 방법이다. 블로그 내용에 따르면 크게 2가지 방법이 있다. iloc( ) 와 loc( )함수를 사용하는 것이다. ioc( ) 와 loc( ) 는 이전 ‘Dataframe 데이터 조회하기’에서 다룬 적이 있다.
간략히 요약하면 iloc( ) 는 데이터프레임의 숫자 인덱싱으로 위치에 접근하는 방식이고, loc( ) 는 실제 이름으로 접근하는 방식이다. 이전에는 조회를 했던 방식이라면 이번에는 같은 인덱싱 방법으로
1) iloc( ) 사용
<코드>
df.iloc[0,3] = “수정” print(df)
이름 국어 영어 수학 0 YB 100 90 수정 1 SW 70 60 50 2 EJ 40 30 20 3 HJ 10 5 1
-. 파이썬의 인덱싱 번호는 0부터 시작함을 기억하자. [0,3]은 첫번째 해의 4번째 요소(YB의 수학)을 뜻한다.
2) loc( ) 사용
<코드>
df.loc[0,’수학’] = “0점” df.loc[1,’영어’] = “0점” print(df)
이름 국어 영어 수학 0 YB 100 90 0점 1 SW 70 0점 50 2 EJ 40 30 20 3 HJ 10 5 1
-. loc는 인덱스와 컬럼명으로 접근하여 수정 가능
2. 결측치(NaN) 관련
결측치란 데이터프레임에서 값이 없는 것을 의미한다. 값이 없다는 것은 “”와 같은빈칸이 표시되는 것이 아니라 NaN이라는 결측치로 표시된다. DB에서 ‘null’과 같은 개념인 것 같다. 실제 규모가 큰 데이터프레임에서 이 NaN을 제거하는 전처리가 굉장히 중요하다고 한다.
(NaN : Not a Number)
이 결측치를 제거하는 방법은 크게 pandas의 dropna( ), fillna( ) 함수를 사용하는 방법이 있다. dropna는 결측치 NaN를 제거하는 방법이고, fillna( )는 다른 데이터로 채우는 방법이다.
결측치를 임의로 생성하기 위해 엑셀파일을 조금 수정해보았다. 엑셀파일의 빈칸은 데이터프레임에서 NaN으로 인식된다.
<위 엑셀파일 데이터프레임화 결과>
이름 국어 영어 수학 합계 0 YB 100.0 90.0 80.0 NaN 1 SW 70.0 60.0 50.0 NaN 2 EJ 40.0 NaN 20.0 NaN 3 HJ 10.0 5.0 1.0 NaN 4 KY NaN NaN NaN NaN
1) drona( )
dropna( )는 결측치를 제거한다. 여러 파라미터에 따라 어떻게 결측치가 제거되는지 정리해보았다.
A. 그냥 dropna( )를 사용할경우 결측치가 1개라도 있는 행(or열) 모두 제거
-. axis=0이면 행 기준으로 제거(default이므로 파라미터 생략해도 됨)
-. NaN이 모든 행에 있으므로 결과는 empty DataFrame인 것을 확인
<코드>
df.dropna(inplace=True) print(“제거 후”) print(df)
제거 후 Empty DataFrame Columns: [이름, 국어, 영어, 수학, 합계] Index: []
-. axis=1이면 열 기준으로 ‘이름’열만 살아남는다.
<코드>
df.dropna(axis=1, inplace=True) print(“제거 후”) print(df)
제거 후 이름 0 YB 1 SW 2 EJ 3 HJ 4 KY
B. 특정 열의 결측치만 제거하고싶은 경우 subset 파라미터를 사용한다.
-. 아래 코드는 ‘영어’ 컬럼의 결측치가 있는 행을 제거한다.(2번,4번 인덱스 행 제거)
-. axis=0은 생략해도 무관(default값)
<코드>
df.dropna(subset=[‘영어’], axis = 0, inplace=True) print(df)
이름 국어 영어 수학 합계 0 YB 100.0 90.0 80.0 NaN 1 SW 70.0 60.0 50.0 NaN 3 HJ 10.0 5.0 1.0 NaN
C. 1개의 열이 모두 결측치이거나 1개의 행이 모두 결측치인 경우를 how=’all’ 파라미터를 사용
-. axis=1(열 기준)으로 지정하여 실행하면 모든 값이 결측치였떤 ‘합계’열이 삭제 됨
-. axis=0으로 하면 모든 값이 결측치인 행이 없으므로 데이터프레임은 그대로임.
<코드>
df.dropna(how=’all’, axis=1, inplace=True) print(“제거 후”) print(df)
제거 후 이름 국어 영어 수학 0 YB 100.0 90.0 80.0 1 SW 70.0 60.0 50.0 2 EJ 40.0 NaN 20.0 3 HJ 10.0 5.0 1.0 4 KY NaN NaN NaN
D. 결측치가 아닌 데이터(non-NA) 개수를 기준으로 해서 행(or열)을 제거하려면 thresh 파라미터를 사용한다.
-. 결측치 아닌 data가 3개이상인 경우를 제외한 나머지 행 삭제(thresh=3)
-. 결과를 보면 알겠지만 결측치가 아닌 data가 3개 이하인 4번 행만 삭제된 것으로 확인
<코드>
import pandas as pd #dataframe 생성(엑셀 파일 통해 생성) df = pd.read_excel(“df_test.xlsx”, engine=”openpyxl”) print(“제거 전”) print(df) df.dropna(thresh=3, inplace=True) print(“제거 후”) print(df)
제거 전 이름 국어 영어 수학 합계 0 YB 100.0 90.0 80.0 NaN 1 SW 70.0 60.0 50.0 NaN 2 EJ 40.0 NaN 20.0 NaN 3 HJ 10.0 5.0 1.0 NaN 4 KY NaN NaN NaN NaN 제거 후 이름 국어 영어 수학 합계 0 YB 100.0 90.0 80.0 NaN 1 SW 70.0 60.0 50.0 NaN 2 EJ 40.0 NaN 20.0 NaN 3 HJ 10.0 5.0 1.0 NaN
2) fillna( )
dropna( )는 결측치가 있는 행 또는 열을 제거하였다면 fillna( ) 는 결측치가 있는 행을 채우는 함수이다. fillna( ) 도 dropna( ) 와 같이 파라미터가 여러개 있지만 잘쓸 것같은 부분만 2가지정도 정리하고 나머지는 참고링크로 대체
A. 결측치(NaN)인 곳 모두 똑같은 값으로 채우기
-. dataframe.fillna(‘채울 값’) 을 사용하면 아래와 같이 NaN이 모두 동일한 값으로 채워진다.
<코드>
import pandas as pd #dataframe 생성(엑셀 파일 통해 생성) df = pd.read_excel(“df_test.xlsx”, engine=”openpyxl”) print(“원본”) print(df) df.fillna(0, inplace=True) print(“채운 후”) print(df)
원본 이름 국어 영어 수학 합계 0 YB 100.0 90.0 80.0 NaN 1 SW 70.0 60.0 50.0 NaN 2 EJ 40.0 NaN 20.0 NaN 3 HJ 10.0 5.0 1.0 NaN 4 KY NaN NaN NaN NaN 채운 후 이름 국어 영어 수학 합계 0 YB 100.0 90.0 80.0 0.0 1 SW 70.0 60.0 50.0 0.0 2 EJ 40.0 0.0 20.0 0.0 3 HJ 10.0 5.0 1.0 0.0 4 KY 0.0 0.0 0.0 0.0
B. 특정 열마다 다른 값으로 채우고 싶다면 value 파라미터를 사용한다.
-. 아래 코드와 같이 value에 대한 값은 딕셔너리 형태로 입력하면 된다.
<코드>
import pandas as pd #dataframe 생성(엑셀 파일 통해 생성) df = pd.read_excel(“df_test.xlsx”, engine=”openpyxl”) print(“원본”) print(df) values = {‘수학’:”0점”, ‘합계’:”아직계산X”} df.fillna(value=values, inplace=True) print(“채운 후”) print(df)
원본 이름 국어 영어 수학 합계 0 YB 100.0 90.0 80.0 NaN 1 SW 70.0 60.0 50.0 NaN 2 EJ 40.0 NaN 20.0 NaN 3 HJ 10.0 5.0 1.0 NaN 4 KY NaN NaN NaN NaN 채운 후 이름 국어 영어 수학 합계 0 YB 100.0 90.0 80 아직계산X 1 SW 70.0 60.0 50 아직계산X 2 EJ 40.0 NaN 20 아직계산X 3 HJ 10.0 5.0 1 아직계산X 4 KY NaN NaN 0점 아직계산X
※ 참고링크
1. dropna( )
2. fillna( )
728×90
[Python] Missing Data(NA, NaN) 결측값 처리
안녕하세요. 우주신 입니다.
데이터 분석에 있어 가장 중요한 과정은 결측값 및 특이값을 얼마나 잘 처리하는지의 유무에 달려 있다고 생각하는데요,
오늘은 pandas를 이용하여 NA, NaN 데이터를 처리하는 가장 기본적인 몇가지 방법을 포스팅 하겠습니다.
df.dropna(), df.fillna()
우선, 결측값이나 특이값을 처리하는 3가지 방법이 있습니다.
1. 무시한다
2. 제거한다
3. 다른 값으로 대체한다
먼저, pandas와 numpy를 이용해 NaN 값이 포함된 데이터프레임을 만들었습니다.
import pandas as pd import numpy as np df = pd.DataFrame([[1, np.nan, 2, np.nan], [3, np.nan, 4, 5], [5, 6, 7, np.nan], [np.nan, np.nan, np.nan, np.nan]], columns = list(‘ABCD’))
1. 첫번째 방법은 아주 쉬워요. 그냥 무시하시면 됩니다.
추후 데이터 분석을 하는 데 있어 다른 방법으로 잘 처리해야 한다는 전제가 있다만요..
2. df.dropna()
NaN이 하나라도 들어간 행을 제거하는 방법에 대해 보겠습니다.
df.dropna() df.dropna(how=’any’)
how의 default 값이 ‘any’ 이므로 두 코드는 같은 의미 입니다.
즉, any -> 하나라도 결측값이 존재한다면 그 결측 값이 존재하는 행 or 열을 지우는 기능 입니다.
여기서 행 or 열을 설정하려면 파라미터 axis를 0 아니면 1로 조정해주면 됩니다.
위 코드를 실행하면 아래와 같은 빈 데이터프레임이 나오죠. 모든 행에는 NaN이 하나 이상 존재하기 때문 입니다.
자, 그럼 만약 어떠한 행에 모든 값이 NaN인 경우에만 지우고 싶은 경우에는 어떻게 하면 될까요?
how의 값을 ‘all’로 바꿔주면 됩니다. 매우 직관적인 것 같네요.
3. df.fillna()
마지막으로 NaN 값을 다른 값으로 대체하는 방법에 대해 보겠습니다.
원하는 특정 값을 df.fillna()의 parameter 중 하나인 value에다가 입력해주면 모든 NaN 값이 다 바뀝니다.
df.fillna(0) df.fillna(value=0)
0을 넣어봤고 위와 같이 모든 결측값이 다 0으로 바뀌었습니다.
이번에는 열마다 다른 값을 입력하여 NaN 값을 변경해보겠습니다.
new_data = {‘A’:0, ‘B’:-11, ‘C’:-99} df.fillna(new_data)
a에는 0이 b에는 -11이 c에는 -99로 데이터가 변경됐습니다.
더 나아가 fillna 함수의 경우에는 다양한 기능이 있는데,
연속된 NaN 값 중 몇번째 값까지 변경을 원하는지도 limit을 통해 지정할 수 있습니다.
new_data = {‘A’:0, ‘B’:-11, ‘C’:-99} df.fillna(new_data, limit=2)
각 열에서 2번째 NaN까지 값들이 변경된 것을 확인할 수 있어요.
마지막으로, df.fillna(method = ) 기능 입니다.
method = ffill과 method = bfill을 비교해 보겠습니다.
ffill은 forward fill의 약자로, 앞으로 채워라 라는 뜻 입니다.
df.fillna(method=’ffill’)
3행을 보시면 NaN의 값이 그 앞 데이터로부터 채워진 것을 확인할 수 있어요.
bfill은 back fill의 약자로, 반대로 존재하는 데이터로부터 뒷 방향(=위)으로 채워라 라는 뜻 입니다.
df.fillna(method=’bfill’)
NaN의 값이 그 뒤 데이터로부터 채워진 것을 확인할 수 있습니다.
끝
So you have finished reading the 파이썬 nan 치환 topic article, if you find this article useful, please share it. Thank you very much. See more: 파이썬 nan 0으로, 파이썬 NaN 조건문, Numpy nan to zero, 파이썬 NaN 제거, Pandas NaN to 0, 파이썬 fillna, DataFrame NaN 제거, Pandas NaN to null