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