Pandas에서 개체를 부동 소수점으로 변환

Manav Narula 2023년1월30일
  1. astype()메서드를 사용하여 Pandas에서 객체를 부동 소수점으로 변환
  2. to_numeric()함수를 사용하여 Pandas에서 객체를 부동 소수점으로 변환
Pandas에서 개체를 부동 소수점으로 변환

이 튜토리얼에서는 객체 유형 열을 Pandas에서 부동으로 변환하는 데 중점을 둡니다. 객체 유형 열에는 문자열 또는 다른 유형의 혼합이 포함되는 반면 float에는 10 진수 값이 포함됩니다. 이 기사에서는 다음 DataFrame에 대해 작업합니다.

import pandas as pd

df = pd.DataFrame(
    [["10.0", 6, 7, 8], ["1.0", 9, 12, 14], ["5.0", 8, 10, 6]],
    columns=["a", "b", "c", "d"],
)

print(df)
print("---------------------------")
print(df.info())

출력:

      a  b   c   d
0  10.0  6   7   8
1   1.0  9  12  14
2   5.0  8  10   6
---------------------------
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   a       3 non-null      object
 1   b       3 non-null      int64 
 2   c       3 non-null      int64 
 3   d       3 non-null      int64 
dtypes: int64(3), object(1)
memory usage: 224.0+ bytes
None

object유형 인'a'열의 유형을 확인하십시오. Pandas에서pd.to_numeric()astype()함수를 사용하여이 객체를 float로 변환합니다.

노트
이 튜토리얼에서는 더 이상 사용되지 않고 제거 된convert_objects()함수를 다루지 않습니다.

astype()메서드를 사용하여 Pandas에서 객체를 부동 소수점으로 변환

Pandas는 열을 특정 유형으로 변환하는astype()메소드를 제공합니다. 메서드에float를 전달하고errors 매개 변수를'raise'로 설정합니다. 즉, 잘못된 값에 대한 예외가 발생합니다. 예:

import pandas as pd

df = pd.DataFrame(
    [["10.0", 6, 7, 8], ["1.0", 9, 12, 14], ["5.0", 8, 10, 6]],
    columns=["a", "b", "c", "d"],
)

df["a"] = df["a"].astype(float, errors="raise")

print(df.info())

출력:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
a    3 non-null float64
b    3 non-null int64
c    3 non-null int64
d    3 non-null int64
dtypes: float64(1), int64(3)
memory usage: 224.0 bytes

to_numeric()함수를 사용하여 Pandas에서 객체를 부동 소수점으로 변환

Pandas to_numeric()함수는 목록, 계열, 배열 또는 튜플을 부호있는 또는 부호없는 int 및 float 유형을 의미하는 숫자 데이터 유형으로 변환하는 데 사용할 수 있습니다. 또한 예외를 발생시키는errors 매개 변수가 있습니다. 다음은to_numeric()을 사용하여 객체 유형을 float로 변환하는 예입니다.

import pandas as pd

df = pd.DataFrame(
    [["10.0", 6, 7, 8], ["1.0", 9, 12, 14], ["5.0", 8, 10, 6]],
    columns=["a", "b", "c", "d"],
)

df["a"] = pd.to_numeric(df["a"], errors="coerce")

print(df.info())

출력:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
a    3 non-null float64
b    3 non-null int64
c    3 non-null int64
d    3 non-null int64
dtypes: float64(1), int64(3)
memory usage: 224.0 bytes
작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - Pandas DataFrame