Python/Study

[Python] pd.where과 np.where의 차이

dori_0 2022. 2. 18. 18:25

[Python] pd.where과 np.where의 차이

1. pd.where

  • 판다스의 Series객체.where() 함수
  • Series객체.where(Series객체에 대한 조건문, 거짓 일 때의 대체 값) 형태로 사용
  • 조건문의 참값에 Series객체 값을 넣어줌

2. np.where

  • np.where(배열에 대한 조건문, 참일 때 값, 거짓일 때 값) 형태로 사용
  • array(배열)로 반환함

 


 

하나의 데이터 프레임 만들기

import pandas as pd
import numpy as np

df = pd.DataFrame({'a':[1, 2, 3, 4, 5], 'b':[6, 7, 8, 9, 10]})
df

 

pd.where 예시

  • a열 중 4보다 작은 값에는 그대로 a열의 값, 그 외의 값에는 100 넣기
df['a'].where(df['a'] < 4, 100)

  • a열 중 2보다 큰 값에는 b열의 값, 그 외의 값에는 100 넣기
df['b'].where(df['a'] > 2, 100)

np.where 예시

    • 홀수이면 O, 짝수이면 X인 컬럼 'a 홀수여부' 만들기
df['a 홀수여부'] = np.where(df['a'] % 2 == 1, 'O', 'X')
df

 

  • b열 값이 8 이상이면 '8이상', 8미만이면 '8미만'인 컬럼 만들기
df['b >= 8'] = np.where(df['b'] >= 8, '8이상', '8미만')
df

 

 

 

 

 

'Python > Study' 카테고리의 다른 글

[Python] Numpy 반올림, 올림, 버림, 내림 하는 법  (0) 2022.03.12
[Python] 판다스, 넘파이 axis 개념  (0) 2022.03.11
[Python] map 함수  (0) 2022.02.18
[Pandas] loc와 iloc의 차이  (0) 2022.02.18