pandas - Series
by Kim
목차
pandas
pandas
는 시리즈(Series)
와 데이터프레임(DataFrame)
같은 자료 구조를 내장하고 있으며 이들에 대한 생성 및 전처리에 필요한 기본 함수들이 내장된 모듈입니다. NA에 대한 연산이 쉽고 빠르게 되어 있으며 산술연산에 대해도 벡터연산이 가능합니다. 하지만, 문자열 처리하는 경우에는 벡터연산 불가하기 때문에 map, apply, applymap 등의 함수로 mapping 처리가 필요합니다. 모듈 불러올 때 보통 약자를 pd
로 지정하여 불러옵니다.
시리즈 (Series)
시리즈(Series)는 데이터프레임(DataFrame)을 구성하는 1차원 자료 구조
로, 하나의 데이터 형(Data type)만 허용
합니다. Key-Value
형식의 자료구조를 가지고 있는데 Key는 인덱스(index/행 번호)
를 의미를 합니다.
우선 시리즈를 불러올 때마다 옆에 pd.
를 붙이지 않고 편하게 불러오도록 시리즈만 따로 불러옵시다.
1. 생성
시리즈를 생성하는 방법은 다음 코드에서 볼 수 있습니다. Series() 함수 내에 리스트로 전달하는 내용이 값(Value)
가 되고 함수 내에 index = []
로 전달하는 내용이 Index(key)
가 됩니다.
2. 연산
입력 | 출력(key - values) |
---|---|
s1 + 1 | 0 2 1 3 2 4 3 5 |
s1 + s1 (같은 인덱스를 갖는 경우 같은 인덱스끼리 값 연산) |
0 2 1 4 2 6 3 8 |
s3 + s5 (다른 인덱스를 갖는 경우 Outer Join으로 연산) |
A NaN a NaN b 22.0 c 33.0 d 44.0 |
3. 색인
입력 | 출력(key - values) |
---|---|
s1[0] | 1 |
s1[0:3] | 0 1 1 2 2 3 |
4. 기타 메소드
메소드 | 설명 |
---|---|
s1.dtype | 시리즈를 구성하는 데이터 타입 |
s2.dtypes | 복수형 가능 |
s1.index | 시리즈의 인덱스 부분 |
s1.values | 시리즈의 값 부분 |
5. 인덱스
인덱스값이 따로 지정되어 있지 않은 경우 index값을 부여하며, index값을 가지고 있을때는 해당 index값으로 색인을 진행합니다.
입력 | 출력(key - values) |
---|---|
s1 = Series([1,2,3,4], index = [‘a’,’b’,’c’,’d’]); s1 |
a 1 b 2 c 3 d 4 |
s2 = Series(s1, index=[‘d’,’c’,’a’,’b’]); s2 |
d 4 c 3 a 1 b 2 |
s3 = Series(s1, index=[‘A’,’B’,’C’,’D’]); s3 (‘A’ … 에 해당하는 index가 없기 때문에 불러올 값이 없을때 NaN을 출력) |
A NaN B NaN C NaN D NaN |
s1.index = [‘A’,’B’,’C’,’D’]; s1 인덱스 변경reindex) |
A 1 B 2 C 3 D 4 |
※ index 개별 수정 주의사항
6. 시리즈 내의 NaN 찾기
s2 = Series([NA,2,3,4], index = [‘a’,’b’,’c’,’d’])
설명 \ 형식 | 메서드 형식 | 함수 형식 |
---|---|---|
null 찾기 | s2.isnull() | pd.isnull(s2) |
null 아닌 값 찾기 | s2.notnull() | pd.notnull(s2) |
물론 NaN은 모듈 numpy에 있기 때문에 모듈 불러오는 것을 잊지 말자.
이번에는 시리즈에 대한 적어보았습니다. 적당한 타이밍에 글을 끊느라 짧은 글이 되었네요. 다음 포스팅에는 데이터 프레임을 다룰 예정인데 데이터 프레임에 대한 내용은 상당히 분량이 많아서 두 글에 나누어서 작성하게 될 것 같습니다.
Subscribe via RSS