<10-2주차 수강 클립>
04. 데이터 분석을 위한 Python (Pandas)
01. Pandas 이해 - pandas 모듈 설치
02. Series 타입의 이해 - 01. Series 데이터 생성하기
03. Series 타입의 이해 - 02. Series 데이터 심플 분석 (개수, 빈도 등 계산하기)
이번 주차부터는 데이터 분석을 위한 Pandas를 배우는 그 첫 시간이었습니다 !
Pandas에서의 기본 객체 중 하나인 Series 데이터를 생성해보고
Series의 메소드 사용과 분석까지 진행해봤습니다.
>>수강 인증샷<<
02. Series 타입의 이해 - 01. Series 데이터 생성하기
- Series
pandas의 기본 객체 중 하나
numpy의 ndarray를 기반으로 인덱싱 기능을 추가하여 1차원 배열(열벡터 or 행벡터)을 나타냄
- index를 지정하지 않을 경우, 기본적으로 ndarray와 같이 0-based 인덱스를 생성함
- index를 지정할 경우, 명시적으로 지정된 index를 사용하기!
같은 타입의 0개 이상의 데이터를 가질 수 있음
*) Series 데이터는 굳이 생성해서 쓸 일은 잘 없음.. 대부분 dataframe(2차원의 데이터)으로부터 데이터 연산을 한 뒤 파생된 결과로써 series를 사용하기 때문
- Series 데이터 생성하기
s1 = pd.Series([1, 2, 3]) #Series의 value = 1,2,3
s1 #왼: idx 오: value
s2 = pd.Series(['a', 'b', 'c'])
s3 = pd.Series(np.arange(200))
: 데이터로만 생성하기 → index는 기본적으로 0부터 자동적으로 생성 (명시하지 않았기 때문)
s4 = pd.Series([1, 2, 3], [100, 200, 300])
s5 = pd.Series([1, 2, 3], ['a', 'm', 'k'])
: 데이터, 인덱스를 함께 명시하여 생성하기
s6 = pd.Series(np.arange(5), np.arange(100, 105), dtype=np.int16)
: 데이터, 인덱스, 데이터 타입 함께 명시하여 생성하기
: dtype을 명시하지 않으면 각 os에 맞게 설정됨
: optimize 시 메모리 사용량을 줄이고자 2byte(16bit), 4byte(32bit)로 설정 가능
- 인덱스 활용하기
s6.index
s6.values
: Series의 인덱스, value 각각 출력
s6[104]
s7[105] #없는 인덱스, 에러
: 인덱스를 통한 데이터 접근
s6[104] = 70
s6[105] = 90 #없는 인덱스
: 인덱스를 통한 데이터 업데이트
: 값 업데이트 시 없는 인덱스에 접근하면 새로운 값을 만들어서 Series 데이터를 업데이트 함 (Series의 크기 증가)
s7 = pd.Series(np.arange(6), s6.index)
: 인덱스 재사용하기 → 새로운 Series 생성 시 기존에 존재하던 Series의 인덱스를 새 Series의 인덱스로 사용 가능
03. Series 타입의 이해 - 02. Series 데이터 심플 분석 (개수, 빈도 등 계산하기)
- Seires의 메소드
- size : 개수 반환 (=len()함수와 기능 동일)
- shape : 튜플형태로 shape반환
- unique: 유일한 값(중복x)만 ndarray로 반환
- count : NaN(Not a Number_값이 없는 경우)을 제외한 개수를 반환
- mean: NaN을 제외한 평균 (* numpy는 ndarray 내부에 NaN이 있으면 평균 계산 불가능_에러)
- value_counts: NaN을 제외하고 각 값들의 빈도를 반환 (각 value가 index로, value들을 count값이 value를 이루는 새로운 결과 Series를 출력)
- index를 활용하여 multiful한 값에 접근하기
s[[5, 7, 8, 10]]
s[[5, 7, 8, 10]].value_counts() #새로 생긴 Series의 value count
- head, tail 함수
- head : 상위 n개 출력, 기본 5개
- tail : 하위 n개 출력, 기본 5개
s.head()
s.head(n=7)
s.tail()
강의 링크: https://bit.ly/3cB3C8y
'코딩 > 머신러닝&데이터 분석 강의' 카테고리의 다른 글
[머신러닝 인강] 11-2주차: Pandas DataFrame 의 이해 (0) | 2021.05.01 |
---|---|
[머신러닝 인강] 11-1주차: Series 연산, boolean selection, 슬라이싱 (0) | 2021.04.27 |
[머신러닝 인강] 10-1주차: linalg 서브모듈, 그래프 표현 (0) | 2021.04.24 |
[머신러닝 인강] 9-2주차: ndarray 축(axis), 브로트캐스팅(broadcasting), 불린 인덱싱(boolean indexing) (0) | 2021.04.18 |
[머신러닝 인강] 9-1주차: ndarray 인덱싱, 슬라이싱, 기본 함수 (0) | 2021.04.18 |