목차
1. Pandas의 정의, 사용법
2. Series의 정의, 사용법
3. DataFrame의 정의, 사용법
1. Pandas의 정의, 사용법
파이썬 라이브러리 중 하나다. 구조화된 데이터를 효과적으로 처리하고 저장할 수 있으며 Array 계산에 특화된 Numpy를 기반으로 설계되었다.
pip install pandas
명령 프롬프트 창에서 위의 명령어를 입력하여 pandas 라이브러리를 설치할 수 있다.
1
|
import pandas as pd
|
cs |
또한 파이썬에서는 위의 코드를 통해 라이브러리를 불러올 수 있다. 보통 pandas라는 이름 별칭으로 pd를 사용한다.
2. Series의 정의, 사용법
Numpy array가 보강된 형태로 데이터와 인덱스를 가지고 있다. 인덱스를 통해 각각의 데이터에 접근이 가능하다. Series 객체마다 이름을 지정할 수 있고 딕셔너리를 Series로 변환할 수 있다.
pandas.Series(data=None, index=None, dtype=None, name=None, copy=None, fastpath=False)
data : array-like, Iterable, dict, or scalar value
index : array-like or Index (1d)
dtype : str, numpy.dtype, or ExtensionDtype, optional
name : Hashable, default None
copy : bool, default False
1
2
3
4
|
import pandas as pd
a = pd.Series([1, 2, 3])
a
|
cs |
0 1
1 2
2 3
dtype: int64
Series의 첫 글자는 대문자로 써야 한다는 것에 주의하자. 출력 결과를 살펴보면 가장 좌측의 열은 인덱스를 의미한다. 그리고 그다음 열부터가 데이터다.
1
2
3
4
|
import pandas as pd
a = pd.Series([1, 2, 3], index = ['a', 'b', 'c'])
a['a']
|
cs |
1
위와 같이 인덱스로 접근이 가능하다. 호출 방식이 딕셔너리 키 값을 통해 밸류값을 불러오는 방식과 비슷하다.
1
2
3
4
|
import pandas as pd
a = pd.Series([1, 2, 3], index = ['a', 'b', 'c'], name = 'Test')
a
|
cs |
a 1
b 2
c 3
Name: Test, dtype: int64
위처럼 name을 입력하여 Series만의 이름을 부여할 수 있다.
1
2
3
4
5
|
import pandas as pd
a = {'apple' : 500, 'banana' : 300, 'grape' : 700}
pd.Series(a)
|
cs |
apple 500
banana 300
grape 700
dtype: int64
위와 같이 딕셔너리 형태로 데이터 입력도 가능하다.
3. DataFrame의 정의, 사용법
여러 개의 Series가 모여 행과 열을 이룬 데이터다. Series와 마찬가지로 딕셔너리를 데이터 원본으로 입력할 수 있다.
pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=None)
data : ndarray (structured or homogeneous), Iterable, dict, or DataFrame
index : Index or array-like
columns : Index or array-like
dtype : dtype, default None
1
2
3
4
5
6
7
8
9
|
import pandas as pd
a = {'apple' : 500, 'banana' : 300, 'grape' : 700}
b = pd.Series(a)
c = pd.DataFrame({'price' : b})
c
|
cs |
위와 같이 딕셔너리 형태로 입력이 가능하다.
1
2
3
4
5
6
7
8
9
|
import pandas as pd
d = pd.DataFrame([1, 2, 3, 4, 5], columns = ['test'])
print(d)
print(type(d))
print(type(d['test']))
|
cs |
test
0 1
1 2
2 3
3 4
4 5
<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.series.Series'>
리스트를 직접 입력하는 방식으로도 데이터 프레임을 생성할 수 있다. columns라는 속성을 통해 각각의 시리즈 이름을 설정할 수 있다. 시리즈 이름이라는 것은 사실상 해당 열(Column)의 이름이 되는 것이다. type(d) 함수를 사용했을 때는 데이터 프레임 클래스의 인스턴스로 출력되지만, type(d['test']) 함수를 사용했을 때는 시리즈 클래스의 인스턴스로 출력되는 것을 확인할 수 있다.