본문 바로가기

CodeStates

[Pandas] DataFrame 생성, 저장 및 로드

Pandas에 대한 설명

Pandas는 파이썬 언어로 작성된 데이터의 분석 및 조작을 위해 만들어진 S/W라이브러리다.

판다스는 R에서 사용되던 data.frame 구조를 본뜬 DataFrame이라는 구조를 사용하기 때문에, R의 data.frame에서 사용

하던 기능 상당수를 무리없이 사용할 수 있도록 만들었다. 더욱이 파이썬이라는 접근성이 좋은 언어 기반으로 동작하기

때문에 데이터 분석을 파이썬으로 입문하는 사람들이 필수적으로 사용하는 라이브러리가 되었다.[1]

 

 

Pandas의 데이터 구조
Demension Name  
1D Series 1차원 배열의 데이터
2D DataFrame 2차원 배열의 데이터 (행과 열)

 

DataFrame 생성, 저장 및 로드

 

 

Pandas의 DataFrame 생성하기

위와 같이 DataFrame을 생성하게 되면 행이 0,1,2 열이 col1, col2인 2차원 배열 데이터가 생성이 된다.

이때 행은 index 또는 row라고 부르고  열은 columns라고 부른다.

 

Tip. DataFrame의 데이터 타입

생성된 DataFrame의 데이터 타입을 보기 위해서는 DataFrame 객체 뒤에 dtypes를 적어주면 된다.

col1은 정수형 int col2 는 실수형 float가 출력.

 

 

조금 더 다양한 형태의 데이터가 들어간 DataFrame을 생성 해보겠다.

#pandas 패키지를 import
import pandas as pd  
#떡잎 마을 아이들의 이름 나이 용돈 애완동물 이름을 dictionary형태로 생성.
made_data = {'0':['짱구', '5','500','흰둥이'], 
             '1':['훈이', '5','3,500', np.nan], 
             '2':['맹구', '5','1,500', np.nan], 
             '3':['유리', '5','5,000', np.nan], 
             '4':['철수', '5','10,000',np.nan],
             }
#생성된 dictionary 데이터로 DataFrame을 생성
dataframe = pd.DataFrame(data=made_data)
#생성한 DataFrame을 출력한다.
dataframe

dictionary형태의 data를 생성하고 이 데이터를 이용하여 DataFrame을 생성한다. 이때 np.nan은 결측치로 '없는 값'이다.

 

 

DataFrame 저장하기

#생성한 DataFrame을 csv형식으로 저장한다.
dataframe.to_csv("ZzangGu.csv", mode = 'w')

위와 같은 방법으로 DataFrame을 csv파일 형식으로 저장한다. 이외에도 excel의 확장자로 저장하는 법 등 다양한 형식의 저장법이 있다.

 

 

DataFrame을 Load하기

pandas의 Input/output 기능을 이용하여 excel나 csv 데이터를 불러온다.

URL을 통해서 파일을 읽어오고 싶다면 path값에 'ZzangGu.csv' 대신 해당 URL을 담아주면 된다.

하지만 이렇게 csv를 호출시에 Unnamed:0 라는 필요 없는 Column이 생기는 경우가 있다.

이를 해결하기 위해서는 파일을 불러올때 Index를 지정해주면 된다. 즉, read_csv(path, index_col=[0])을 이용하면 된다.

#pandas 패키지를 import
import pandas as pd  
#Local 또는 URL을 통해 파일을 읽어오기
#df = dataframe의 약자, path = csv파일의 경로
path = ('ZzangGu.csv')
#path에 저장된 경로의 csv파일을 읽어옴
#df = pd.read_csv(path)
#index_col = [0]를 통해 Unnamed오류 해결
df = pd.read_csv(path, index_col = [0])

#df 출력
df

 

 

 

 

 

DataFrame의 초기 분석 단계 (EDA)

 

Missing Data (결측치)

Data Frame

Vis (시각화)

관련 기능
  • isna
  • isnull
  • notna
  • notnull
  • dropna
  • fillna
  • index
  • columns
  • dtypes
  • info
  • select_dtypes
  • loc
  • iloc
  • insert
  • head
  • tail
  • apply
  • aggregate
  • drop
  • rename
  • replace
  • nsmallest
  • nlargest
  • sort_values
  • sort_index
  • value_counts
  • describe
  • shape
  • plot
  • plot.area
  • plot.bar
  • plot.barh
  • plot.box
  • plot.density
  • plot.hexbin
  • plot.hist
  • plot.kde
  • plot.line
  • plot.pie
  • plot.scatter

DataFrame을 초기에 분석하는 단계 (EDA)에서 자주 쓰이는 기능들이다.

자세한 사항은 키워드를 구글링 해보는 것을 추천한다.

 

 

 

-출처

[1] 나무위키: , namu.wiki/w/pandas

 

 

pandas - 나무위키

- 통합 인덱싱을 활용한 데이터 조작을 가능하게 하는 데이터프레임(DataFrame) 오브젝트 - 인메모리(in-memory) 데이터 구조와 다양한 파일 포맷들 간의 데이터 읽기/쓰기 환경 지원 - 데이터 결측치

namu.wiki

 

'CodeStates' 카테고리의 다른 글

[통계] #2  (0) 2021.03.14
[통계] #1  (0) 2021.03.14
[Python] 데이터 시각화  (0) 2021.03.12
[Pandas] DataFrame 다루기  (0) 2021.03.08
Git과 GitHub 그리고 Colab  (0) 2021.03.08