Performance Environment : Anaconda, Jupyter Lab
Library : Pandas, Numpy
Pandas는 레이블 형태의 자료구조를 수집 및 정리하는데 유용한 라이브러리로
Series와 Dataframe 이 2가지 자료구조를 가진다.
이 2개의 자료구조 중 Series를 알아보고자 한다.
Series
- 레이블 형태를 갖는 인덱싱이 가능한 1차원 배열 구조
- 데이터가 각각의 데이터 타입을 가질 수 있다.
Series 생성
List를 이용해서 생성
s = pd.Series(list('abcde'))
# 또는
s = pd.Series(['a', 'b', 'c', 'd', 'e'])
dtype을 지정해서 생성
s = pd.Series(list('abcde', dtype='object'))
다양한 데이터 타입의 데이터로 생성
s = pd.Series(['a', 23, 53.2, 'b', 'g'])
# 이 경우 object 타입으로 생성
인덱싱
Fancy Indexing
s[[0, 3]]
Boolean Indexing
s < 10
# 데이터가 위 조건에 맞는지 Boolean으로 값을 출력
s[ s < 10 ]
# 괄호 안의 조건이 맞는 데이터만 출력. Fancy Index 활용
인덱스 변경
s.index = ['1', '2', '3', '4', '5']
# 또는
s.index = list('12345')
속성
values
values는 Series 데이터 값만 numpy array 형식으로 가져온다.
s.values
ndim
차원 출력
s.ndim
shape
데이터 개수 출력
s.shape
NaN
Pandas에서 NaN 값은 비어있는 결측치 데이터를 의미
임의로 비어있는 값을 대입하고자 할 때는 numpy의 nan(np.nan)를 입력
s = pd.Series([1, 2, np.nan, 3, 4, np.nan])
결측치 값 처리
s.isnull()
s.isna()
s[s.isna()]
s.isnull().sum()
s.notnull()
s.notna()
s[s.notnull()]
s.notnull().sum()
출처
'Programming > Python' 카테고리의 다른 글
[Kaggle] Titanic - Machine Learning from Disaster (0) | 2023.03.13 |
---|