본문 바로가기

코딩/머신러닝&데이터 분석 강의

[머신러닝 인강] 10-2주차: Pandas, Series의 이해

<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

반응형