데이터 분석에는 반드시 필요한 세 가지 패키지가 있습니다. 바로 Pandas, Numpy, 그리고 Matplotlib입니다.
오늘은 Pandas에 대한 기본적인 내용들을 다뤄보려고 합니다!
Pandas (판다스)
Pandas(판다스)는 파이썬 데이터 처리를 위한 라이브러리입니다.
스프레드시트나 데이터베이스같이, 테이블로 나타낸 데이터를 활용할 때 유용하게 쓰일 수 있습니다.
Pandas가 설치되어 있는 환경에서 아래와 같이 import 할 수 있습니다.
import pandas as pd
Pandas의 경우 pd라는 명칭으로 임포트하는 것이 관례입니다.
Pandas는 세 가지의 Data Structure을 사용합니다.
- Series (시리즈)
- DataFrame (데이터프레임)
- Panel (패널)
Panel(패널)은 자주 사용되는 데이터 구조가 아니기 때문에
이 글에서는 Series(시리즈)와 DataFrame(데이터프레임)에 대해서만 다루도록 하겠습니다.
1) Series (시리즈)
Series 클래스는 1차원 행렬의 각 value(값)에 index(인덱스)를 부여할 수 있는 구조를 가지고 있습니다.
아래와 같이 코드를 입력해 Series를 만들 수 있습니다.
sr = pd.Series(data, index=index)
위 코드에서 data에는
- 딕셔너리 자료형
- ndarray (Numpy 라이브러리의 행렬 자료구조. 추후 글에서 다룰 예정입니다!)
- 스칼라 값
등이 가능합니다.
예시로 Series를 만들어보자면,
sr = pd.Series([17000, 18000, 1000, 5000],
index = ['피자', '치킨', '콜라', '맥주'])
print("시리즈 출력 :")
print("-"*15)
print(sr)
시리즈 출력 :
---------------
피자 17000
치킨 18000
콜라 1000
맥주 5000
dtype: int64
아래와 같은 방법으로 value와 index를 출력할 수 있습니다.
print(f"시리즈의 값 : {sr.values}")
print(f"시리즈의 인덱스 : {sr.index}")
시리즈의 값 : [17000 18000 1000 5000]
시리즈의 인덱스 : Index(['피자', '치킨', '콜라', '맥주'], dtype='object')
2) DataFrame (데이터프레임)
DataFrame은 행방향 인덱스(index)와 열방향 인덱스(column)가 존재하는 2차원 데이터 구조입니다.
앞서, Series는 index와 value로 구성돼있다면, DataFrame은 column(열)까지 추가되어 index, value, column으로 구성돼있습니다.
DataFrame은 Pandas의 오브젝트 중에서 제일 많이 쓰이는 자료 구조입니다.
예시로 DataFrame을 만들어보겠습니다.
values = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
index = ['one', 'two', 'three']
columns = ['A', 'B', 'C']
df = pd.DataFrame(values, index=index, columns=columns)
print("데이터프레임 출력 :")
print('-'*18)
print(df)
데이터프레임 출력 :
------------------
A B C
one 1 2 3
two 4 5 6
three 7 8 9
생성된 DataFrame으로부터 index, value, column을 각각 출력해보겠습니다.
print("데이터프레임의 인덱스 : {}".format(df.index))
print("데이터프레임의 열이름 : {}".format(df.columns))
print("데이터프레임의 값 :")
print("-"*18)
print(df)
데이터프레임의 인덱스 : Index(['one', 'two', 'three'], dtype='object')
데이터프레임의 열이름 : Index(['A', 'B', 'C'], dtype='object')
데이터프레임의 값 :
------------------
A B C
one 1 2 3
two 4 5 6
three 7 8 9
해당 내용은 wikidocs의 <딥러닝을 이용한 자연어 처리 입문>을 바탕으로 작성하였습니다.
출처 : https://wikidocs.net/32829
'ML & AI > Natural Language Processing' 카테고리의 다른 글
RNN - 딥러닝을 이용한 문서 분류(2) (2) | 2022.12.11 |
---|---|
RNN - 딥러닝을 이용한 문서 분류(1) (0) | 2022.12.05 |