Appia의 IT세상

파이썬[Python] Pandas란, Pandas DataFrame 본문

Python/Python Pandas

파이썬[Python] Pandas란, Pandas DataFrame

Appia 2020. 3. 6. 19:19
반응형

앞서 포스팅에서는 Pandas 설치 하는 방법과 Anaconda 설치하는 방법에 대해서 살펴봤습니다. 실제 Pandas 대해서 이야기를 하고자 가장 기초적인 설치에 대해서 포스팅을 해봤습니다. 그러면, 이번 포스팅은 간단히 Pandas 대해서 이야기를 하면서 데이터를 읽어와서 Data frame 만드는 방법에 대해서 이야기를 하고자 합니다.

 

데이터 사이언스 빅데이터 관련된 곳에서는 Python Pandas 많이 사용합니다. 하지만, 엑셀 또한 매우 많은 분석 기능 편리성들을 제공하고 있습니다. 하지만, 상당히 많은 사용자들이 엑셀을 사용하지 않고, Python Pandas 사용하는 이유는 무엇일까요? 다음과 같은 이유라고 생각합니다.

 

  1. Excel Python보다 프로그램을 만드는 데에 매우 제약적입니다.
  2. Numpy 모듈에 비해 수치 연산에 성능적인 측면에서 부정적입니다.

 

이와 같은 이유로 많은 데이터를 처리하고 분석해야 , 엑셀 보다 Python/Pandas 선호되는 이유 입니다. 물론 이는 매우 주관적인 의견이라는 것을 생각해주세요.

 

앞서 numpy에서는 ndarray 핵심었다면, pandas에서는 DataFrame 핵심이 됩니다. 그럼 간단히  Data_frame이라는 데이터 구조에 대해서 살펴보겠습니다.

 

상단은 Column들로 구성이 됩니다. 열들은 그냥 그대로 Row 됩니다. Column기준으로 행에 있는 데이터들을 Series라고 합니다. 이와 같이 Column, Row, Series들로 구성된 형태, 이와 같은 형태로 DataFrame 구성되어 있습니다. 그럼 DataFrame 대해서 좀더 깊숙히 살펴보겠습니다. 

 

DataFrame

그럼 pandas에서 DataFrame 생성하는 방식을 살펴 보겠습니다. 우선 기본 형태는 다음과 같은 형태로 생성이 가능합니다.

 

pandas.DataFrame( Data, Index, Columns, dtype, copy)

  • data - DataFrame 생성할 데이터 소스. Ex) ndarray, series, map, lists, dict, constant
  • index  - Row 부분에 대해서 Label 추가( Optional)
  • column - Column 부분에 대해서 Label 추가( Optional)
  • dtype - column 데이터 타입 명시 ( Optional)

DataFrame 생성하기

그럼 위의 명령어를 바탕으로 다음 예제를 실행을 해보겠습니다. DataFrame 생성하는 방법입니다.

import pandas as pd
 
df = pd.DataFrame()
 
print(df)
cs

 

위의 명령어를 실행하면 다음과 같은 결과가 나옵니다.

Empty DataFrame
 
Columns: []
 
Index: []
cs

 

그럼 기존에 생성되어 있는 List 바탕으로 한번 DataFrame 생성해보겠습니다.  다음과 같은 코드를 한번 살펴보겠습니다.

 

import pandas as pd
 
data = [['Choi',22],['Kim',48],['Joo',32],['Baek',39]]
 
df = pd.DataFrame(data,columns=['Name','Age'])
 
print(df)
cs

 

위의 예제를 실행하면 다음과 같은 결과가 나옵니다.

   Name  Age
 
0  Choi   22
 
1   Kim   48
 
2   Joo   32
 
3  Baek   39
cs

 

2차원 형태로 명시된 리스트입니다. 맴버 하나씩이 Row 명시합니다. 그래서 다음과 같은 형태로 나타냅니다.

 

그럼 이번에는 Dictionary 바탕으로 한번 DataFrame 생성해 보겠습니다.

import pandas as pd
 
data = {'Name':['Choi''Kim''Joo''Lee'],'Age':[38,44,19,22]} #Dictionary 생성
 
df = pd.DataFrame(data)
 
print(df)
cs

 

data = {'Name':['Choi', 'Kim', 'Joo', 'Lee'],'Age':[38,44,19,22]}를 부분을 토대로 data라는 Dictionary 생성하였습니다. 그리고 이를 바탕으로 DataFrame 생성해보니, 다음과 같은 결과가 나왔습니다.

   Name  Age
 
0  Choi   38
 
1   Kim   44
 
2   Joo   19
 
3   Lee   22
cs

그럼 이번에는 index, column 입력하여 다음과 같은 결과를 한번 살펴 보겠습니다.

 

import pandas as pd
 
data = [{'a'1'b'2},{'a'5'b'10'c'20}]
 
df1 = pd.DataFrame(data, index=['first''second'], columns=['a''b'])
 
df2 = pd.DataFrame(data, index=['first''second'], columns=['a1''c'])
 
print(df1)
 
print("\n")
 
print(df2)
cs

 

위의 예제를 실행하니 다음과 같은 결과가 나옵니다.

        a   b
 
first   1   2
 
second  5  10
 
 
 
        a1     c
 
first  NaN   NaN
 
second NaN  20.0
cs

 

다음과 같은 형태로 생성입니다. column에서 입력된 값이 dictionary key 존재하지 않으면 입력되 않습니다. 부분을 명심 하셔야 합니다.

 

오늘은 간단한 DataFrame 생성하는 방법에 대해서 살펴봤습니다. 물론 간단히 List / Dictionay 바탕으로 생성하는 방법에 대해서 살펴봤습니다. 물론, CSV 파일 테스트 파일등을 읽어올 있습니다. 관련해서는 추가로 별도의 포스팅을 토대로 이야기를 해보도록 하겠습니다.

반응형
Comments