본문 바로가기

카테고리 없음

판다스(pandas) - 데이터 파일 불러오기/읽기

반응형

 

데이터 분석을 위해 가장 먼저 해야할 일은 데이터를 불러오는 일입니다. 이때 불러오는 데이터를 '데이터 집합'이라고 하는데, 지금부터 판다스를 통해 데이터를 불러오는 방법에 대해 살펴보겠습니다.

 

 

데이터 파일 불러오기

1. 판다스 라이브러리 불러오기

import pandas as pd

먼저 판다스 라이브러리를 불러오는데, 이는 import 명령어를 통해 불러올 수 있습니다.

뒤에 as는 pandas를 pd로 명명하겠다.

즉 좀 더 간편하게 사용하기 위해 명시한 구문입니다.

 

 

2. 데이터 불러오기

df = pd.read_csv('../data/gapminder.tsv', sep='\t')

그런 다음 read_csv 함수를 통해 데이터를 불러옵니다.

기본적으로 read_csv는 쉼표를 기준으로 데이터를 행과 열로 분리하는데,

tsv 파일은 tab을 기준으로 분리되기 때문에 '\t'를 기준으로 데이터를 구분하여 읽어옵니다.

 

이렇게 하면 gapminder.tsv 파일이 df에 데이터 프레임 형식으로 들어가게 됩니다.

 

 

 

데이터 보기

데이터 출력

print(df)

불러온 데이터를 넣어둔 pd 를 print로 찍으면 내용이 나타납니다.

 

출력

위 데이터는 Jupyter를 통해 출력된 내용입니다. Python 명령어는 print(df)로 입력하셔야 합니다.

 

 

 

가장 앞 5개 행 출력 - head()

print(df.head())

만약 print와 달리 상위 5개의 행만 보고 싶다면 head명령어를 사용하면 됩니다.

 

출력

위 데이터는 Jupyter를 통해 출력된 내용입니다. Python 명령어는 print(df)로 입력하셔야 합니다.

 

 

자료형 확인하기 - type()

print(type(df))

앞서 tsv파일에서 읽어온 데이터는 df에 '데이터 프레임'형식으로 입력된다고 하였는데요, 

그럼 정말로 해당 형식으로 되어있는지 확인해보는 '자료형 확인 메소드'는 바로 type입니다.

 

출력

pandas.core.frame.DataFrame

 

 

행과 열 크기 확인하기 - shape

print(df.shape)

가지고 있는 데이터의 행과 열의 크기를 알기위해서는 shape라는 속성을 통해 확인할 수 있습니다.

 

출력

(1704, 6)

df는 1704행과 6개의 열을 가지고 있다는 것을 확인할 수 있습니다.

 

 

열(column) 이름 확인하기 - columns

print(df.columns)

데이터 프레임의 열에 어떤 정보가 있는지 알기 위해서는 columns 속성을 사용하면 된다.

 

 

출력

Index(['country', 'continent', 'year', 'lifeExp', 'pop', 'gdpPercap'], dtype='object')

위에서 볼 수 있듯 데이터 프레임에는 'country', 'continent', 'year', 'lifeExp', 'pop', 'gdpPercap' 열이 존재함을 알 수 있다.

 

 

데이터의 자료형 확인하기 - dtypes

print(df.types)

앞서 데이터 프레임의 자료형은 type메소드를 통해 알아볼 수 있었는데요,

데이터 프레임 안에 존재하는 데이터의 자료형은 dtypes 속성을 통해 알 수 있습니다.

 

 

출력

country       object
continent     object
year           int64
lifeExp      float64
pop            int64
gdpPercap    float64
dtype: object

 

데이터 프레임에 대한 상세한 정보 확인 - info

print(df.info())

info메소드는 데이터 프레임에 대한 상세한 정보를 제공합니다.

해당 명령어를 통해 데이터 프레임의 자료형, 행과 열의 수, 데이터의 자료형 그리고 메모리 사용량에 대한 정보까지 얻을 수 있습니다.

 

 

출력

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1704 entries, 0 to 1703
Data columns (total 6 columns):
country      1704 non-null object
continent    1704 non-null object
year         1704 non-null int64
lifeExp      1704 non-null float64
pop          1704 non-null int64
gdpPercap    1704 non-null float64
dtypes: float64(2), int64(2), object(2)
memory usage: 80.0+ KB

 

반응형