python

[python] object 형 => numerical 형태로 변경해주는 to_numeric 함수

독립성이 강한 ISFP 2022. 3. 22. 02:25
728x90
반응형

df_last["분양가격(㎡)"] * 3.3 이라는 식을 계산해야 하는데 df_last["분양가격(㎡)"]의 type이 object이기 때문에 오류가 발생함. int 나 float 형태가 아니기 때문에 3.3을 곱할 수 가 없는거임 그래서 int나 float으로 바꿔줘야해  to_numeric을 이용하여 숫자형식으로 변경

 

df_last["분양가격(㎡)"] #변경전 object타입

0       5841
1       5652
2       5882
3       5721
4       5879
        ... 
4330    3882
4331     NaN
4332    3898
4333     NaN
4334    3601
Name: 분양가격(㎡), Length: 4335, dtype: object

 

df_last["분양가격"] = pd.to_numeric(df_last["분양가격(㎡)"], errors='coerce')

df_last["분양가격"] #변경후 float타입

0       5841.0
1       5652.0
2       5882.0
3       5721.0
4       5879.0
         ...  
4330    3882.0
4331       NaN
4332    3898.0
4333       NaN
4334    3601.0
Name: 분양가격, Length: 4335, dtype: float64

 

# errors: error는 총 3개의 옵션이 존재

- errors = 'ignore' -> 만약 숫자로 변경할 수 없는 데이터라면 숫자로 변경하지 않고 원본 데이터를 그대로 반환

- errors = 'coerce' -> 만약 숫자로 변경할 수 없는 데이터라면 기존 데이터를 지우고 NaN으로 설정하여 반환

- errors = 'raise' -> 만약 숫자로 변경할 수 없는 데이터라면 에러를 일으키며 코드를 중단

 

728x90
반응형