01_Series
| 5 Minute Read on Pandas
Series 개념¶
- Series는 정수형, 문자형,NaN의 데이터를 모두 담을 수 있는 라벨이 있는 1차원 배열이다.(One-dimensional ndarray with axis labels)
- 라벨을 Index(색인)이라 한다.
- 즉, series는 기본적으로 data와 Index로 구성된다.
sereis에서 Index의 개념이 중요한데 Series docs를 보면
- data의 길이와 Index 길이는 같아야 하고
- 만약 Index를 생략하면 data의 길이만큼 index가 지정이 된다.
- Index인 라벨은 유니크할 필요없지만 hashable type해야 한다(Series가 아니고 Series 안의 index속성의 의미함)
- Index는 key와 value(label)로 구성된다.(value는 사용자가 부여하고 key는 시스템이 부여함)
In [1]:
import pandas as pd
import numpy as np
#srz = pd.Series()
data = ['A','B',np.NaN ,1,2,np.NaN, '1','2']
srz = pd.Series(data = data)
srz
Out[1]:
In [2]:
# index를 100부터 라벨을 붙임
index = np.arange(100,108)
data = ['A','B',np.NaN ,1,2,np.NaN, '1','2']
srz = pd.Series(data = data, index = index)
srz
Out[2]:
In [3]:
# index를 중복 라벨을 붙임
index = [0, 1, 2, 3, 0, 1, 2, 3]
srz = pd.Series(data = data, index = index)
srz
Out[3]:
In [4]:
#값을 선택하거나 대입할때는 Index(value)를 이용해 접근한다.
#Index가 중복이므로
srz[0]
Out[4]:
In [5]:
#값을 선택하거나 대입할때는 Index(value)를 이용해 접근한다.
srz[0] = "Z"
print(srz)
In [6]:
# series의 유형을 확인. NaN을 float으로 인식함
#값을 선택하거나 선택할때 iloc를 사용하여 Indexd의 key를 이용해 접근한다.
for i in range(8):
print((srz.iloc[i])), print(type(srz.iloc[i]))
Dictionary를 이용하여 Series 생성¶
- Series는 Index에 value를 매핑하고 있기 때문에 python의 Dictionary 자료 구조와 비슷하다.(Ordered Dict)
- 따라서 Dictionary 이용해서 간단히 Series를 생성할 수 있다.
In [7]:
s_dict = {'Arizona':2000,'Boston':2001, 'Chicago':2003,'Detroit':2004}
In [8]:
#s_dict를 이용해서 Series를 생성
srz = pd.Series(s_dict)
srz
Out[8]:
In [9]:
#state라는 Index를 생성하고 Index를 사용하여 Series를 생성
state = ['Arizona','Boston', 'New York','Pheonix']
srz = pd.Series(s_dict, index = state)
srz
Out[9]: