일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- scikitlearn
- GridSearchCV
- 잔차분석
- 선형회귀분석
- 의사결정나무
- 데이터분석
- machinelearning
- 딥러닝
- DataScience
- 로지스틱회귀분석
- 하이퍼파라미터
- ML
- 단순선형회귀분석
- 다중선형회귀분석
- OrdinalEncoder
- 손실함수
- 데이터전처리
- LinearRegression
- 결정계수
- LogisticRegression
- 시계열 데이터
- deeplearning
- Python
- 시계열데이터
- 지도학습
- dataframe
- RegressionTree
- 분류
- 비지도학습
- time series
- Today
- Total
IE가 어른이 되기까지
[Python] 판다스 (Pandas) 의 구조 Series 알아보기 본문
Pandas는 우리가 사용하기 쉬운 고성능 데이터 구조와
데이터 분석 도구를 제공합니다.
특히, 대표적인 데이터 구조는 Series와 DataFrame입니다.
먼저 Series에 대해 알아보도록 하겠습니다.
Series는 1D 배열로 이루어져 있습니다.
지금부터 Python으로 Series를 구현하는 방법에 대해
알아보도록 하겠습니다 !
Series 만들기
s = pd.Series([0,1,2,3])
s
Series는 위와 같은 코드를 통해 만들 수 있으며
실행시키면 앞서 설명드린 바와 같이 하나의 열의 형태로만 나타나고
앞에는 순서대로 index가 붙게 됩니다.
Series 산술 연산
s + [1000,2000,3000,4000]
이 경우에는 각 원소별로 산술연산이
적용되는 것을 볼 수 있습니다.
s + 1000
반면 위와 같은 코드는 하나의 숫자가 Series의 모든 원소에
더해지는 것을 알 수 있습니다.
Series 등호 / 부등호
s < 0
Series에 등호와 부등호를 사용하면
True 혹은 Flase의 결과로 나타납니다.
Series의 인덱스 레이블
s1 = pd.Series([10, 20, 30, 40])
s1
앞서 설명드린 것처럼 Series를 출력하게 되면
앞에 index 레이블이 붙게 됩니다.
기본적으로 0에서부터 시작합니다.
s2 = pd.Series([10, 20, 30, 40], index=["a", "b", "c", "d"])
s2
하지만 우리가 위와 같은 방법으로
직접 index 레이블을 지정할 수도 있습니다.
s2["b"]
s2[1]
우리는 이 index 레이블을 활용하여 원소에 접근을 할 수도 있고
Series를 호출할 수도 있습니다.
s2.loc["b"]
s2.iloc[1]
레이블이나 정수를 사용해 접근할 때 명확하기 위해서는
레이블의 경우 loc 속성, 정수의 경우 iloc 속성을 사용하는 것이 좋습니다.
왜 그래야 할까요?
s3 = pd.Series([1, 2, 3, 4])
s3
s3_slice = s3[2:]
s3_slice
먼저, 예를 들기 위해 's3'라는 변수를 만들고
슬라이싱을 해주었습니다.
* 슬라이싱은 [시작하고 싶은 부분 : 끝내고 싶은 부분 - 1] 으로 Series를
자를 수 있습니다.
s3_slice[0]
그리고 이 변수에 iloc, loc 가 아닌 방법으로 접근할 시
해당 변수의 index에는 0이 없으므로 에러가 발생하게 됩니다.
s3_slice.iloc[0]
s3_slice.loc[2]
하지만 이처럼 iloc와 loc를 사용하면 index에는 없는 정수더라도
올바르게 호출할 수 있습니다.
Dictionary 타입으로 Seires 만들기
dict = {"c": 10, "d": 20, "e": 30, "f": 40}
s4 = pd.Series(dict)
s4
파이썬에는 기본적으로 key와 value를 가지는
Dictionary (dict)라는 데이터 타입이 존재합니다.
dict는 {key : vlaue} 로 생성하며 여기서 key는 index 레이블로 사용됩니다.
s4 = pd.Series(dict, index = ["e", "c"])
s4
dict로 Series에 포함할 원소를 제어하고
index를 지정하여 명시적으로 순서를 결정할 수 있습니다.
스칼라로 Seires 초기화
s6 = pd.Series(100, ["a", "b", "c"])
s6
이처럼 모든 원소를 스칼라 값으로 설정시킬 수도 있습니다.
Series 이름
s7 = pd.Series([24, 54], index=["julia", "vicky"], name="age")
s7
Series는 name을 가질 수 있습니다.
Numpy
import numpy as np
np.exp(s)
마지막으로 Numpy는 수치 계산을 위해 다양한 함수를 제공하며
행렬이나 일반적인 다차원 배열을 쉽게 처리할 수 있도록 지원하는
라이브러리입니다.
앞서 우리가 만들었던 Series 변수 's'에
Numpy를 사용해보도록 하겠습니다.
사용 전, Numpy를 import를 통해 불러와주면 됩니다.
'DATA SCIENCE > Python' 카테고리의 다른 글
[Python] 판다스 (Pandas) 의 DataFrame 그룹핑하기 (0) | 2023.01.04 |
---|---|
[Python] 판다스 (Pandas) 의 DataFrame 연산하기 (0) | 2023.01.04 |
[Python] 판다스 (Pandas) 의 DataFrame 정렬하기 (0) | 2023.01.04 |
[Python] 판다스 (Pandas) 의 DataFrame 행과 열 다루기 (0) | 2023.01.03 |
[Python] 판다스 (Pandas) 의 DataFrame 만들기 (0) | 2023.01.03 |