본문 바로가기
Python/Data Science

Python - Pandas (3)

by hooni40 2021. 7. 22.
728x90
반응형

 안녕하세요, 지난 시간에는 Data Frame을 만드는 여러 가지 방법에 대해 정리해보았습니다. 2차원 리스트, Dictionary, Pandas의 Series함수로 만든 ndarray 등 여러 방법으로 만들어 보았습니다.

 

 오늘은 Pandas의 데이터 타입과 데이터를 불러오는 방법에 대해 정리해 보겠습니다. pandas의 DataFrame에는 여러 종류의 데이터들을 담을 수 있는데요, dtypes를 사용하면 각 Column에 어떤 데이터 타입이 있는지 확인할 수 있습니다.

 

 

 위의 예제에서는 'name' column은 object라는 데이터 타입을 보관하고, 'english_score' / 'math_score'는 int64라는 데이터 타입을 보관하고 있습니다. 가장 아래의 dtype: object는 DataFrame의 요소들이 문자열로 구성되어 있다는 것을 의미합니다.

 

 pandas에 담을 수 있는 Data type들을 살펴보겠습니다.

-. int64 : 정수

-. float64 : 소수

-. object : 텍스트

-. bool : 불린

-. datetime64 : 날짜와 시간

-. category : 카테고리

 

 이제 Data Science에서 많이 보게될 CSV(Comma-Separated Values) 파일을 불러오는 방법에 대해 정리해보겠습니다.

불러오는 방법으로는 pd.read_csv(파일 경로)함수를 사용하여 불러올 수 있습니다. 먼저 csv파일을 살펴보겠습니다. 아래와 같은 CSV 파일이 있다고 가정해보겠습니다. 가장 위에 ,(콤마)로 나누어져 있는 것이 Header(헤더)입니다. 

 

 이제 이것을 read_csv함수를 사용하여 불러와 보겠습니다. 아래 이미지를 보면 위의 CSV 파일들이 불러와져서 DataFrame을 이루는 것을 확인할 수 있습니다.

 

 여기서 Header가 자동으로 Column의 이름으로 들어간 것도 확인하실 수 있습니다. Pandas에서 자동으로 CSV 파일의 첫 줄을 헤더로 인식을 하기 때문인데요, 좋은 점이긴 하지만 만약 Header가 없게 된다면 두 번째 줄인 iPhone 7로 시작하는 줄이 Column의 이름이 되게 됩니다. 이것을 막으려면 read_csv함수 뒤에 header=None을 남겨주어야 합니다.

 

Header를 지우고 불러왔을 때

 

header=None 적용

 

 위의 결과들에서 맨 왼쪽의 인덱스(row)들에 숫자들이 보이시나요? 이것을 없애고 iphone 시리즈 들을 인덱스의 이름으로 적용할 수도 있습니다. read_csv안에 index_col을 적용해주면 원하는 column을 인덱스의 이름으로 만들 수 있습니다!

 

0번 col을 인덱스 이름으로 만들었을 때

 

2번 col을 인덱스 이름으로 만들었을 때

 

 이렇게 Pandas로 데이터 파일(CSV)을 불러오는 것까지 완료하였습니다. 이것으로 Python의 numpy와 pandas 기초에 대해 정리하였는데요, 다음에는 데이터를 시각화하여 보기 좋게 만드는 법에 대해 정리해보겠습니다!

728x90
반응형

'Python > Data Science' 카테고리의 다른 글

DataFrame indexing (2)  (0) 2021.07.26
DataFrame indexing (1)  (0) 2021.07.24
Python - Pandas (2)  (0) 2021.07.21
Python - Pandas (1)  (0) 2021.07.19
Python - Numpy (3)  (0) 2021.07.17

댓글