1. Series # pd.Series(data, index = [ ])
Series는 데이터의 1차원 배열이라고 할 수 있다.
numpy배열이며, 값은 values로 인덱스는 index로 접근할 수 있다.
이 때, values는 Numpy배열이다.
인덱스를 이용하여, 특정 값에 접근할 수 있다.
Numpy와는 다르게 인덱스 값을 설정할 수 있다. (np는 정수열 인덱스만 가능)
인접하지 않는 정수형 인덱스를 설정할 수도 있다.
인덱스를 키라고 생각한다면, Series배열은 딕셔너리형 객체라고 생각해도 무방하다.
2. DataFrame # pd.DataFrame(ndarray, index = [ ], column = [ ])
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html
데이터프레임은 Series 객체의 집합체.
1) 하나의 Series를 이용해 만들 경우.
pd.DataFrame(cars, columns = [ ' name ' ] )
2) 다수의 Series를 이용해 만들 때는 딕셔너리처럼 생성하면 된다.
pd.DataFrame( { 'column' : a, 'column2' : b} )
DataFrame.index 를 하면 인덱스(행) 속성 반환.
DataFrame.columns 를 하면 칼럼(열) 속성 반환.
3. 인덱싱, 슬라이싱
데이터프레임에서도 인덱싱 (arr[1, 2]), 슬라이싱 (arr[ : , 1 : 3 ]), 마스킹 (arr [ arr > 0 ]), 팬시인덱싱 ( arr[ 0, [1, 3] ]) 모두 가능하다.
1) Series에서의 인덱싱
딕셔너리와 유사하게 사용하면 된다.
Series.keys( )
list( Series.items( ) )
2) Series 슬라이싱
키값을 사용해도 되고, 정수 인덱스를 활용해도 됨.
명시 슬라이싱과 암묵 슬라이싱때문에 혼동이 발생할 수 있기 때문에 loc, iloc를 주로 사용한다.
Series.loc[ ] -> 무조건 명시적 인덱스를 사용.
Series.iloc[ ] -> 무조건 암묵적 인덱스를 사용.
3) DataFrame에서의 인덱싱
DataFrame은 Series의 딕셔너리이다.
일단 DF를 하나 만들어 보자.
열에 접근하는 방식은 인덱싱을 이용 또는 속성을 이용하는 방법이 있다.
열을 추가해보자. (1인당 차 개수)
DF.values -> 데이터만 보기
DF.T -> 행과 열을 바꾸기
4) 데이터프레임에서의 loc, iloc
Series와 똑같이 iloc, loc를 사용할 수 있다.
iloc은 정수형 인덱스를 사용하며, loc는 실질 인덱스를 사용한다.
슬라이싱은 기본적으로 행을 기준으로 한다.
'Python > Pandas' 카테고리의 다른 글
pd.groupby / pivot_table (집계연산) (0) | 2020.03.27 |
---|---|
pd.concat / df.append / pd.merge (1) | 2020.03.13 |
14. Pandas - 다중인덱싱(Multi Index) (0) | 2020.03.12 |
13. Pandas - 결측값(Nan, None) (0) | 2020.03.04 |