- 정수 int
1, 2, 102930, 39049 등으로 표현되는 정수- 실수 float
1.0, 3.14 등으로 표현되는 소숫점이 존재하는 수- 문자(열) string
a,b,Liverpool 등 알파벳으로 표현되는 문자열
주의! '123'도 string으로 선언되어 있다면 string 취급- 논리형 bool
ex) True, False 즉 참 거짓 이진분류에 쓰임
데이터 분석을 시작할 때 열은 몇개 존재하며 각 열은 어떤 데이터 타입을 가지는지 확인하는 작업을 할 때가 있다. 위 사진을 봤을 때 어떤 열은 object(string과 유사), 어떤 열은 float형 데이터를 가지고 있는 것을 확인할 수 있다!!
위의 숫자를 보자 우리는 당연히 '백이십삼'이라는 숫자를 떠올릴 것이다!
하지만 컴퓨터는 다르다...😮💨
a=123 b='123' print(a,'의 타입은',type(a)) print(b,'의 타입은',type(b))
123 의 타입은 <class 'int'> 123 의 타입은 <class 'str'>
위에 b='123'이라 했을 때
b는 123이라는 문자열로 선언했기 때문에 아래 123의 타입은 string인 것이다.
그럼 한번 정수형, 실수형, 논리형을 바꿔 보자
a=123 b=234.5 c=True print('a의 자료형은', type(a)) print('b의 자료형은', type(b)) print('c의 자료형은', type(c))
a의 자료형은 <class 'int'> b의 자료형은 <class 'float'> c의 자료형은 <class 'bool'>
각 자료의 자료형은 확인했으니 이제 각 변수 옆에 str을 붙이면 어떻게 바뀌는지 확인해보겠다.
a=123 b=234.5 c=True print('a의 자료형은', type(str(a))) print('b의 자료형은', type(str(b))) print('c의 자료형은', type(str(c)))
a의 자료형은 <class 'str'> b의 자료형은 <class 'str'> c의 자료형은 <class 'str'>
str을 변수에 붙인 것만으로 문자화 시켰다!
위에랑 비슷하게 int(변수), float(변수)를 하면 되지만 여기는 제한 사항이 있다!
print(type(int('Hello')))
ValueError: invalid literal for int() with base 10: 'string'
가능하려면 문자열이 int 모양이나 float 모양은 갖추고 있어야 한다!!!
type(int('123'))
→ int
type(int('123.5'))
→ (X)
type(float('123.5'))
→ float
a=True b=False</br> print(type(a)) print(type(b)) print(int(a)) print(float(b))
<class 'bool'> <class 'bool'> 1 0.0
논리형에서 True는 1처럼, False는 0처럼 표현되는 것도 확인할 수 있다!
print(bool('')) print(bool(' '))
False True
이 것은 string에서 bool로 바꿀 때 아무 글자도 없으면 False인 것이고 한 글자라도 (스페이스 포함) 있다면 True 처리 되는 것을 알 수 있다!