여러 번 특정 계산 요구 사항을 수용하기 위해 팬더 데이터 프레임에서 하나 이상의 열 데이터 유형을 변환해야 할 수도 있습니다. 이것을 달성할 수 있는 몇 가지 내장 함수 또는 pandas에서 사용할 수 있는 메서드가 있습니다.
astype() 사용
astype() 메서드를 사용하여 pandas 데이터 프레임의 기존 열 또는 모든 열에 새 데이터 유형을 적용할 수 있습니다. 아래 예에서는 모든 기존 열을 문자열 데이터 유형으로 변환합니다.
예
import pandas as pd #Sample dataframe df = pd.DataFrame({ 'DayNo': [1, 2, 3, 4, 5,6,7], 'Name': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu','Fri','Sat'], 'Qty': [2.6, 5, 11.8, 2, 5.6,0,0.25]}) # Exisitng Data types print(df.dtypes) #Convert to string data type df_str = df.astype(str) # Verify the conversion print("***After Conversion***") print(df_str.dtypes)
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
DayNo int64 Name object Qty float64 dtype: object ***After Conversion*** DayNo object Name object Qty object dtype: object
to_numeric() 사용
현재 데이터 프레임에서 문자열로 표시된 숫자를 to_numeric()을 사용하여 숫자로 변환할 수 있습니다.
예
import pandas as pd # Example dataframe df = pd.DataFrame({ 'DayNo': [1, 2, 3, 4, 5,6,7], 'Name': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu','Fri','Sat'], 'Qty': [2.6, 5, 11.8, 2, 5.6,0,0.25]}) df_str = df.astype(str) print(df_str.dtypes) #Applying conversion print("After Conversion:") df_num = pd.to_numeric(df_str.DayNo) print('DayNo:',df_num.dtypes)
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
출력
DayNo object Name object Qty object dtype: object After Conversion: DayNo: int64
infer_objects() 사용
객체 데이터 유형이 있는 DataFrame의 열을 보다 구체적인 유형으로 변환하는 소프트 변환 방법입니다.
예
import pandas as pd # Example dataframe df = pd.DataFrame({ 'DayNo': [1, 2, 3, 4, 5,6,7], # 'Name': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu','Fri','Sat'], 'Qty': ['2.6', '5', '11.8', '2', '5.6','0','0.25']}, dtype='object') print(df.dtypes) #Applying conversion print("After Conversion:") df_new = df.infer_objects() print(df_new.dtypes)
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
출력
DayNo object Qty object dtype: object After Conversion: DayNo int64 Qty object dtype: object