Read More
[python]파이썬/데이터타입/타입변환, casting : 네이버 블로그
Article author: m.blog.naver.com
Reviews from users: 34770 Ratings
Top rated: 4.1
Lowest rated: 1
Summary of article content: Articles about [python]파이썬/데이터타입/타입변환, casting : 네이버 블로그 타입변환 Casting. . 이전 포스팅까지 우리는 파이썬의 여러가지 데이터타입에 대해 알아 보았습니다. 공통적으로 변수에 데이터 타입을 대입시키는 … …
Most searched keywords: Whether you are looking for [python]파이썬/데이터타입/타입변환, casting : 네이버 블로그 타입변환 Casting. . 이전 포스팅까지 우리는 파이썬의 여러가지 데이터타입에 대해 알아 보았습니다. 공통적으로 변수에 데이터 타입을 대입시키는 …
Table of Contents:
카테고리 이동
scyan님의블로그
이 블로그
Python
카테고리 글
카테고리
이 블로그
Python
카테고리 글
[python]파이썬/데이터타입/타입변환, casting : 네이버 블로그
Read More
[Pandas] 파이썬 판다스 데이터프레임 정수형(int), 문자열(str) 타입 변환(astype)
Article author: jimmy-ai.tistory.com
Reviews from users: 17796 Ratings
Top rated: 3.9
Lowest rated: 1
Summary of article content: Articles about [Pandas] 파이썬 판다스 데이터프레임 정수형(int), 문자열(str) 타입 변환(astype) 판다스 문자열(str), 정수형(int) 타입 변환하기 : astype 함수 이번 포스팅에서는 astype 함수를 통하여 판다스 데이터프레임 column의 자료형을 … …
Most searched keywords: Whether you are looking for [Pandas] 파이썬 판다스 데이터프레임 정수형(int), 문자열(str) 타입 변환(astype) 판다스 문자열(str), 정수형(int) 타입 변환하기 : astype 함수 이번 포스팅에서는 astype 함수를 통하여 판다스 데이터프레임 column의 자료형을 … 판다스 문자열(str), 정수형(int) 타입 변환하기 : astype 함수 이번 포스팅에서는 astype 함수를 통하여 판다스 데이터프레임 column의 자료형을 변환시키는 방법에 대해서 알아보도록 하겠습니다. 일단 다음과..
Table of Contents:
[Pandas] 파이썬 판다스 데이터프레임 정수형(int) 문자열(str) 타입 변환(astype)
판다스 문자열(str) 정수형(int) 타입 변환하기 astype 함수
티스토리툴바
[Pandas] 파이썬 판다스 데이터프레임 정수형(int), 문자열(str) 타입 변환(astype)
Read More
See more articles in the same category here: Top 721 tips update new.
[python] 파이썬 타입 변환, 형변환 (float, int, str, chr, bool)
반응형
안녕하세요. BlockDMask 입니다.
오늘은 간단하게 파이썬에서 데이터 타입을 변환할 수 있는 방법들에 대해서 알아볼것 입니다.
실수로 변환하는 float, 정수로 변환 하는 int, 문자열로 변환하는 str, 문자로 변환하는 chr 그리고 불리언 타입으로 변환하는 bool 까지 이렇게 6가지 타입 변환에 대해서 알아보려고 합니다.
이해를 돕기 위하여 간단한 예제와 함께 작성해보려 합니다.
그럼 시작하겠습니다.
<목차>
1. 파이썬 정수 변환 – int()
2. 파이썬 실수 변환 – float()
3. 파이썬 문자열 변환 – str()
4. 파이썬 문자 변환 – chr()
5. 파이썬 불리언 변환 – bool()
1. python int
int(x)는 인자로들어온 x를 정수 타입으로 반환을 해주는 기능을 합니다.
int(정수)가 들어오면 정수를 정수 타입으로 변환하여 반환을 해주고
int(문자열)이 들어오면 문자열에 맞는 정수 타입을 반환해 줍니다. 만약에 바꿀수 없는 문자열 이라면 오류를 내뱉습니다.
이렇게 우리가 상식적으로 생각을 했을때 int 타입으로 변환이 가능할것 같다 싶은것들은 변환이 가능합니다.
int(불리언)도 가능합니다. 불리언 타입을 정수로 변환 가능하도록 아래 예제를 보면 파이썬 내부적으로 True 는 1, False 는 0으로 변환할 수 있게 만들어 놓은걸 볼 수 있습니다.
예제를 한번 볼까요?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 # 파이썬 int 타입 변환 예제 # int (정수) : 정수를 정수로 변환 (가능함. 의미없음) a = int ( 10 ) print(f ‘1. int(10) = {a}, type(a) = {type(a)}’ ) # int (실수) : 실수를 정수로 변환 b = int ( 3. 141592 ) print(f ‘2. int(3.141592) = {b}, type(b) = {type(b)}’ ) # int (불리언) : 불리언을 정수로 변환 c = int (True) print(f ‘3. int(True) = {c}, type(c) = {type(c)}’ ) # int (문자) : 문자를 정수로 변환 # d = int ( ‘a’ ) 오류 변환할 정수가 없음 d = int ( ‘1’ ) print(f ‘4. int(“1”) = {d}, type(d) = {type(d)}’ ) # int (문자열) : 문자열을 정수로 변환 # e = int ( ‘blockdmask’ ) 오류 변환할 정수가 없음 e = int ( ‘112’ ) print(f ‘5. int(\’112\’) = {e}, type(e) = {type(e)}’ ) cs
결과
결과에서 보이듯이 정수, 실수, 불리언, 문자를 모두 int 타입으로 변환하는것을 볼 수 있습니다. 또한 정수로 변환할수 없는 문자나 문자열은 에러가 발생하게 됩니다.
2. python float
float(x)는 인자로 들어온 x를 실수 타입으로 변환해서 반환해주는 기능을 합니다.
앞서 살펴본 int(x)와 거의 동일하기 때문에 바로 예제로 보여드리겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 # 파이썬 float 타입 변환 예제 # float (정수) : 정수를 실수로 변환 a = float ( 10 ) print(f ‘1. float(10) = {a}, type(a) = {type(a)}’ ) # float (실수) : 실수를 실수로 변환 (가능, 의미없음) b = float ( 3. 141592 ) print(f ‘2. float(3.141592) = {b}, type(b) = {type(b)}’ ) # float (불리언) : 불리언을 실수로 변환 c = float (False) print(f ‘3. float(False) = {c}, type(c) = {type(c)}’ ) # float (문자) : 문자를 실수로 변환 # d = float ( ‘a’ ) # 오류 : 변환할 실수가 없음 d = float ( ‘2’ ) print(f ‘4. float(“2”) = {d}, type(d) = {type(d)}’ ) # float (문자열) : 문자열을 정수로 변환 # e = float ( ‘blockdmask’ ) # 오류 : 변환할 실수가 없음 e = float ( ‘3434’ ) print(f ‘5. float(\’3434\’) = {e}, type(e) = {type(e)}’ ) cs
결과
실수로 변환할수 없는 문자, 문자열을 제외하고 모두 각자 알맞게 float 타입으로 변환이 됩니다. False는 0.0이 변환이 된걸 볼 수 있습니다. 그럼 궁금하시다면 True도 한번 변환해 보세요.
3. python str
str(x)는 인자로 들어온 x를 문자열로 변환시켜서 반환해 주는 기능을 합니다.
숫자를 문자열로, 실수를 문자열로 바꿔줍니다.
bool 타입은 어떻게 바꿔주는지 궁금하시지 않나요? 예제로 한번 보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 # 파이썬 str 타입 변환 예제 # str(정수) : 정수를 문자열로 변환 a = str ( 10 ) print (f ‘1. str(10) = {a}, type(a) = {type(a)}’ ) # str(실수) : 실수를 문자열로 변환 b = str ( 3. 141592 ) print (f ‘2. str(3.141592) = {b}, type(b) = {type(b)}’ ) # str(불리언) : 불리언을 문자열로 변환 c1 = str ( True ) print (f ‘3-1. str(True) = {c1}, type(c1) = {type(c1)}’ ) c2 = str ( False ) print (f ‘3-2. str(False) = {c2}, type(c2) = {type(c2)}’ ) # str(문자) : 문자를 문자열로 변환 d1 = str ( ‘2’ ) print (f ‘4-1. str(“2”) = {d1}, type(d1) = {type(d1)}’ ) d2 = str ( ‘a’ ) print (f ‘4-2. str(“a”) = {d2}, type(d2) = {type(d2)}’ ) # str(문자열) : 문자열을 문자열로 변환 (가능, 의미없음) e = str ( ‘BlockDMask’ ) print (f ‘5. str(\’3434\’) = {e}, type(e) = {type(e)}’ ) cs
결과
str(x)는 x를 무조건 다 문자열로 변환 시키는 걸 볼 수 있습니다.
조금 특이한것은 불리언 타입을 문자열로 변환시킬때가 조금 특이합니다. True를 그대로 True로 변환하는게 신기하긴 합니다. str(x)는 x를 무조건 다 문자열로 변환 시키는 걸 볼 수 있습니다.조금 특이한것은 불리언 타입을 문자열로 변환시킬때가 조금 특이합니다. True를 그대로 True로 변환하는게 신기하긴 합니다.
4. python chr
chr(x)는 인자로 들어온 x를 문자로 변환시켜서 반환해 주는 기능을 합니다.
특히 알아야할 점은 인자로 들어오는 x에 해당하는 하나의 캐릭터를 그것에 맞는 unicode(유니코드) 문자로 변환하여 반환합니다.
알기 쉽게 예제로 한번 보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 # 파이썬 chr 타입 변환 예제 # chr(정수) : 정수를 문자로 변환 a = chr( 54 ) print (f ‘1. chr(54) = {a}, type(a) = {type(a)}’ ) b = chr( 55 ) print (f ‘2. chr(55) = {b}, type(b) = {type(b)}’ ) i = 64 while i < = 70 : print (f 'chr({i}) : {chr(i)}' ) i = i + 1 # chr(실수) : 실수를 문자로 변환 - 불가능 # b = chr(3.141592) # chr(불리언) : 불리언을 문자로 변환 # 이 경우에는 True가 1, False가 0으로 취급되어서 가능 c1 = chr( True ) print (f '3-1. chr(True) = {c1}, type(c1) = {type(c1)}' ) c2 = chr( 1 ) print (f '3-2. chr(1) = {c2}, type(c2) = {type(c2)}' ) if c1 = = c2: print ( 'c1 == c2' ) c3 = chr( False ) print (f '3-3. chr(False) = {c3}, type(c3) = {type(c3)}' ) c4 = chr( 0 ) print (f '3-4. chr(0) = {c4}, type(c4) = {type(c4)}' ) if c3 = = c4: print ( 'c3 == c4' ) # chr(문자) : 문자 입력 - 불가능 # d1 = chr('2') # d2 = chr('a') # chr(문자열) : 문자열 입력 - 불가능 # e = chr('BlockDMask') Colored by Color Scripter cs
결과
인자로 들어온 숫자를 유니코드 표에 맞는 문자로 변환시켜서 반환하는 것을 볼 수 있습니다.
인터넷에 유니코드 표를 검색하면 쉽게 볼 수 있습니다.
제가 알기 쉽게 64, 65번을 출력해 보았는데요. 64번은 골뱅이문자(@)를 말하고 65번 부터는 대문자 A를 가리킵니다.
여기서도 True, False는 1과 0을 뜻하게 되어서 각각 유니코드 1, 0에 맞는 문자로 변환 환됨을 확인할 수 있었습니다.
5. python bool
bool(x)는 인자로 들어온 x를 bool 타입으로 변환시켜서 반환해 주는 기능을 합니다.
x인자가 문자열이라면 비었는지 아닌지, 숫자라면 1보다 큰지 0인지 등등에 따라서 반환값이 바뀌니 이점을 유의하셔서 예제를 보면 좋을듯 합니다.
그럼 bool 타입 변환 예제 한번 보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 # 파이썬 bool 타입 변환 예제 # bool(정수) : 정수를 불리언으로 변환 a1 = bool( 54 ) print (f '1-1. bool(54) = {a1}, type(a1) = {type(a1)}' ) a2 = bool( 0 ) print (f '1-2. bool(0) = {a2}, type(a2) = {type(a2)}' ) # bool(실수) : 실수를 불리언으로 변환 b1 = bool( 3. 141592 ) print (f '2-1. bool(3.141592) = {b1}, type(b1) = {type(b1)}' ) b2 = bool( 0. 00 ) print (f '2-2. bool(0.00) = {b2}, type(b2) = {type(b2)}' ) # bool(불리언) : 불리언을 불리언으로 변환 c1 = bool( True ) print (f '3-1. bool(True) = {c1}, type(c1) = {type(c1)}' ) c2 = bool( False ) print (f '3-3. bool(False) = {c2}, type(c3) = {type(c2)}' ) # bool(문자, 문자열) : 문자열을 불리언으로 변환 (비어있는지 아닌지가 중요) e = bool( 'BlockDMask' ) print (f '4-1. bool(\'BlockDMask\') = {e}, type(e) = {type(e)}' ) f = bool( '' ) print (f '4-2. bool(\'\') = {f}, type(f) = {type(f)}' ) Colored by Color Scripter cs
결과값
불리언 타입 변환은 딱 2가지만 기억하면 됩니다.
숫자의 경우(정수 실수 둘다)에는 0인지 0이 아닌지에 따라서 True, False가 결정 되고
문자의 경우에는 문자열이 비었는지, 비어있지 아닌지에 따라 True, False가 결정 됩니다.
이상으로 파이썬의 타입변환, 형변환, 데이터 타입 변환에 대해서 알아보았습니다.
감사합니다.
반응형
[Pandas] 데이터프레임 타입 바꾸기(astype)
반응형
데이터프레임의 타입을 바꾸는 방법입니다.
사용 데이터는 국내 etf인 kosdaq 150 레버리지의 가격입니다.
df.head()
데이터프레임 타입 확인하기
데이터프레임 타입을 확인하려면 dtypes를 이용합니다.
df.dtypes
각 컬럼의 타입이 나옵니다.
지금 df 같은 경우 날짜만 datatime64[ns] 이고 나머지는 int64 입니다.
데이터프레임 타입 전체 한꺼번에 바꾸기
모든 타입이 같을 때는 df.astype(‘타입’)을 하면 바뀌기 때문에 간단합니다.
물론 무조건 되는 건 아니고 서로 바뀔 수 있는 타입이라는 가정에서 된다는 얘기입니다.
astype이 만능키가 아님을 강조합니다.
astype은 다루기 쉬우니깐 요령 하나를 알려드릴까 합니다.
타입이 다른게 섞여있을 때 데이터프레임을 분해해서 따로 떼어내지 않고 진행하는 방법입니다.
위에서 제시한 df로 해보겠습니다.
현재 df의 숫자들이 int64로 되어있는데 float으로 바꾸고 싶어서 변경하려고 할때 심플하게 df.astype(‘float’)을 하면 좋겠으나 날짜 컬럼은 datetime64로 되어있어서 시도를 하면 오류가 발생합니다.
df.astype(‘float’)
날짜 컬럼이 float으로 바꿀 수 없는 타입이라서 나오는 오류인데
컬럼별로 다 써서 타입을 바꿔도 되지만 코드를 길게 쓰기 싫어서 다음과 같이 합니다.
날짜 컬럼을 index로 넘겨놓고 진행을 합니다.
그러고 다시 인덱스 리셋을 하면 한꺼번에 할 수 있습니다.
astype은 index는 건드리지 않으니 오류가 발생하지 않습니다.
df.set_index(‘날짜’,inplace=True) df = df.astype(‘float’) #inplace 가 없음 df.reset_index(inplace=True) df
오류없이 날짜 컬럼은 빼고 모두 float으로 바뀌어서 숫자에 .0이 추가된 것을 볼 수 있습니다.
참고로 df.astype은 inplace 기능이 없으므로 원본의 타입을 바꾸고 싶다면 재정의를 해야합니다.
원하는 컬럼만 타입 바꾸기
모든 컬럼을 바꾸고 싶지 않고 일부의 컬럼의 타입을 바꾸려면 astype({‘column’ : ‘type’})로 표시해 바꿉니다.
타입을 float으로 바꾼 df에서 시가를 다시 int로 바꾸도록 하겠습니다.
df = df.astype({‘시가’:’int’}) df
시가를 다시 int로 바꿔서 .0이 사라졌습니다. 실제 타입을 봐도 바뀌어 있습니다.
df.dtypes
pandas 타입을 변경할때는 astype으로 무조건 되는게 아니니 서로 타입 변경이 가능한 경우를 잘 알아두는게 좋습니다.
관련포스팅
[Python/Pandas] – [Pandas] DataFrame 인덱스 설정, 리셋
[Python/Pandas] – [Pandas] 시간 데이터 처리
11-01. dtype변경 (astype)
DataFrame.astype(dtype, copy=True, errors=’raise’)
개요
astype 메서드는 열의 요소의 dtype을 변경하는함수 입니다.
사용법
기본 사용법
df.astype(dtype, copy=True, errors=’raies’)
dtype : 변경할 type입니다.
copy : 사본을 생성할지 여부입니다.
errors : {‘raies’, ‘ignore’} : 변경불가시 오류를 발생시킬 여부입니다.
copy는 사본을 생성할지 여부 입니다. False로 할 경우 원본 데이터의 값이 변경 될 경우
원본 데이터를 사용해 생성된 객체의 데이터도 변경되기 때문에 False의 선택은 신중해야합니다.
errors는 변경 불가능한 dtype일 경우 오류를 발생시킬지 여부입니다. False로 하여 오류를
발생시키지 않으면, 변경불가능한 요소는 원래 dtype 그대로 보존됩니다.
예시
먼저, 아래와 같이 기본적인 4×4 행렬을 만듭니다. col1 은 int64, col2 는 object, col3 은 float64, col4 는 bool의 dtype을 가집니다.
col1 = [1, 2, 3, 4] col2 = [‘one’, ‘two’, ‘three’, ‘four’] col3 = [1.5, 2.5, 3.5, 4.5] col4 = [True, False, False, True] index = [‘row1′,’row2′,’row3′,’row4’] df = pd.DataFrame(index=index, data={“col1”: col1, “col2”: col2, “col3”: col3, “col4”: col4}) print(df) >> col1 col2 col3 col4 row1 1 one 1.5 True row2 2 two 2.5 False row3 3 three 3.5 False row4 4 four 4.5 True
print(df.dtypes) >> col1 int64 col2 object col3 float64 col4 bool dtype: object
한개의 열만 type 변경
열의 dtype 변경 시 딕셔너리 형태로 {‘열이름’ : ‘변경 dtype’}와 같이 입력해줍니다.
df1 = df.astype({‘col1′:’int32’}) print(df1.dtypes) >> col1 int32 col2 object col3 float64 col4 bool dtype: object
int64 였던 col1의 dtype이 int32로 변경된 것을 확인할 수 있습니다.
다수의 열의 dtype 변경
다수의 열의 변경도 딕셔너리 형식을 이용하면 됩니다.
df1 = df.astype({‘col1′:’int32’, ‘col3′:’int64′}) print(df1.dtypes) >> col1 int32 col2 object col3 int64 col4 bool dtype: object
int64 였던 col1의 dtype이 int32로 변경되고 float64였던 col3의 dtype의 값이 int64로 변경된 것을 확인할 수 있습니다.
모든 열의 dtype 변경
모든열의 변경을 하고자하는 경우 dtype 인수에 원하는 dtype을 입력해주는 것만으로도 가능합니다.
df1= df.astype(dtype=’int64’) print(df1.dtypes) >> ValueError: invalid literal for int() with base 10: ‘one’
col2 : object형식은 int64형태로 변경할 수가 없기 때문에 오류가 발생합니다. 변경 가능한 열만 변경하려면, 아래와 같이 errors 인수를 기본값인 ‘raise’ 에서 ‘ignore’로 변경하면 됩니다.
So you have finished reading the 파이썬 데이터 타입 변환 topic article, if you find this article useful, please share it. Thank you very much. See more: 파이썬 object 타입 변환, 파이썬 데이터프레임 데이터 타입 변경, 판다스 데이터 타입 변경, 파이썬 int 변환, 파이썬 타입 확인, 파이썬 문자열 정수 변환, 파이썬 str 변환, 파이썬 데이터프레임 타입 확인