Python-데이터 작업
Python은 주로 Pandas와 Numpy라는 두 라이브러리를 통해 다양한 형식의 데이터를 처리합니다. 이전 장에서이 두 라이브러리의 중요한 기능을 이미 살펴 보았습니다. 이 장에서는 데이터를 조작하는 방법에 대한 각 라이브러리의 몇 가지 기본 예제를 볼 수 있습니다.
Numpy의 데이터 작업
NumPy에 정의 된 가장 중요한 객체는 ndarray라는 N 차원 배열 유형입니다. 동일한 유형의 항목 모음을 설명합니다. 컬렉션의 항목은 0부터 시작하는 인덱스를 사용하여 액세스 할 수 있습니다. ndarray 클래스의 인스턴스는 자습서의 뒷부분에서 설명하는 여러 배열 생성 루틴으로 구성 할 수 있습니다. 기본 ndarray는 다음과 같이 NumPy의 배열 함수를 사용하여 생성됩니다.
numpy.array
다음은 Numpy 데이터 처리에 대한 몇 가지 예입니다.
예 1
# more than one dimensions
import numpy as np
a = np.array([[1, 2], [3, 4]])
print a
출력은 다음과 같습니다.
[[1, 2]
[3, 4]]
예 2
# minimum dimensions
import numpy as np
a = np.array([1, 2, 3,4,5], ndmin = 2)
print a
출력은 다음과 같습니다.
[[1, 2, 3, 4, 5]]
예제 3
# dtype parameter
import numpy as np
a = np.array([1, 2, 3], dtype = complex)
print a
출력은 다음과 같습니다.
[ 1.+0.j, 2.+0.j, 3.+0.j]
Pandas의 데이터 작업
Pandas는 다음을 통해 데이터를 처리합니다. Series,Data Frame, 및 Panel. 우리는 이들 각각에서 몇 가지 예를 볼 것입니다.
판다 시리즈
시리즈는 모든 유형 (정수, 문자열, 부동 소수점, 파이썬 객체 등)의 데이터를 보유 할 수있는 1 차원 레이블이 지정된 배열입니다. 축 레이블을 총칭하여 인덱스라고합니다. 팬더 시리즈는 다음 생성자를 사용하여 만들 수 있습니다.
pandas.Series( data, index, dtype, copy)
예
여기서 우리는 Numpy 배열에서 시리즈를 만듭니다.
#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print s
이것의 output 다음과 같습니다-
0 a
1 b
2 c
3 d
dtype: object
Pandas DataFrame
데이터 프레임은 2 차원 데이터 구조입니다. 즉, 데이터는 행과 열에서 표 형식으로 정렬됩니다. Pandas DataFrame은 다음 생성자를 사용하여 만들 수 있습니다.
pandas.DataFrame( data, index, columns, dtype, copy)
이제 배열을 사용하여 인덱싱 된 DataFrame을 생성하겠습니다.
import pandas as pd
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]}
df = pd.DataFrame(data, index=['rank1','rank2','rank3','rank4'])
print df
이것의 output 다음과 같습니다-
Age Name
rank1 28 Tom
rank2 34 Jack
rank3 29 Steve
rank4 42 Ricky
판다 패널
ㅏ panel데이터의 3D 컨테이너입니다. 용어Panel data 계량 경제학에서 파생되었으며 판다라는 이름에 부분적으로 책임이 있습니다. pan(el)-da(ta)-에스.
패널은 다음 생성자를 사용하여 만들 수 있습니다-
pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)
아래 예제에서는 DataFrame Objects의 dict에서 패널을 만듭니다.
#creating an empty panel
import pandas as pd
import numpy as np
data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)),
'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print p
이것의 output 다음과 같습니다-
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 4