관리 메뉴

FU11M00N

[ Pandas ] Pandas Data frame 생성 및 다루기 본문

AI/Pandas

[ Pandas ] Pandas Data frame 생성 및 다루기

호IT 2021. 5. 3. 09:51

- Pandas

Pandas는 DB 등의 레코드 데이터를 다루는데 특화된 라이브러리입니다.

 

머신러닝에서 다루는 다양한 리얼 데이터들은 주로 DB나 CSV 파일 등 레코드 구조를 가지고 있기 때문에 먼저 Pandas로 읽어 들인 후 이를 다시 처리에 특화된 numpy로 변환하는 경우가 많습니다.

 

 

아래의 구문으로 pandas를 사용합니다.

import pandas as pd 

 

 

- Pandas 기초

numpy 가 numpy array 를 기본 자료구조로 처리한다고 할 때,

pandas는 data frame이라는 자료형을 기본으로 다룹니다.

 

 

- Data frame 수동 생성

 

대부분 csv와 xlsx 파일을 읽어 들이는 경우 자주 사용됩니다.

하지만 이번 글에서는 간단히 만들어 여러 테스트를 해보겠습니다.

 

아래와 같은 데이터가 존재할 때 여러 방법으로 테스트 가능합니다.

df = pd.DataFrame( {
    'A' : [1,2,3],
    'B' : [4,5,6]    
})

df

 

 

똑같은 구조를 다음과 같은 방식으로 만들 수도 있습니다.

df = pd.DataFrame([[1,4], [2,5], [3,6]], columns = ['A','B'])
df

레코드 구조를 다루는 자료답게 index를 생성할 수도 있습니다.

데이터 프레임의 index , column 은 다음과 같이 확인이 가능합니다.

 

 

- series

하나의 칼럼 값들을 1차원 배열 형태로 추출하는 것을 series라고 합니다.

print( df['A'] )
print( df.A )

 

 

다음과 같이 추가할 수도 있습니다.

df['C'] = [0.1,0.2, 0.3]
df

 

 

 

다음과 같이 삭제할 수도 있습니다.

del df['C']
df

- Data frame과 numpy 배열

pandas는 내부적으로 값을 저장할 때 numpy 배열 형태로 저장합니다.

 

 

그래서 다음과 같이 간단하게 numpy 배열을 추출할 수 있습니다.

arr = df.values 
print(arr)

print(arr * 2)

특정 칼럼 ( series )만 추출하고 싶다면 다음과 같이 추출할 수 있습니다.

df['A'].values

 

 

- 구구단 테이블

numpy의 np.arrange를 사용하여 아래와 같이 구구단 테이블도 출력 가능합니다.

import numpy as np  # np.arange 사용
df= pd.DataFrame()

for i in range(2,10):
  s = str(i) + "단"
  arr= np.arange(1,10)
  df[s] = arr * i

df

 

 

 

'AI > Pandas' 카테고리의 다른 글

[ Pandas ] 레코드 추출하기  (0) 2021.05.03
Comments