본문 바로가기

DS/fast campus daily report

6.10 (머신러닝과 데이터분석 A-Z) series 데이터 심플 분석, series 데이터 연산하기, series 데이터 boolean selection으로 데이터 선택하기, series 데이터 변경 슬라이싱

series 데이터 심플 분석(9:36), series 데이터 연산하기(5:42)

1. index 기준으로 연산

  s1 + s2 ==> 같은 key를 가지고 있는 index의 value끼리 연산

2. s1 **2 ==> s1의 모든 원소의 value를 제곱

3. s1  ** s2 ==> s1의 각 원소의 value를 s2 의 원소의 value 승

4. 연산이 불가능할 경우, NaN 으로 출력됨

==> Series와 dataframe은 동일하게 연산된다

series 데이터  boolean selection으로 데이터 선택하기(6:53)

  • boolean selection : True 항목만 선택해서 활용함
import numpy as np
import pandas as pd

// 값 비교
s = pd.Series(np.arange(10), np.arange(10)+1 )
s> 5 // s가 5보다 큰 경우만 True를 return 함 
s[ s>5 ]
s[ s%2==0 ] // 짝수인 것만 새로운 Series에 할당함

// index 비교
s[ s.index > 5 ]

// 다중조건일 경우 &, | 활용가능 함
s[ (s>5) & (s<8) ] // ==> value가 6,7인 것만 return됨
  • (s>7).sum() ==> 7보다 큰 항목의 갯수
  • (s[s>7]).sum() ==> 7보다 큰 항목의 value 합

series 데이터 변경 슬라이싱(8:31)

  • Series와 dataframe은 동일한 개념이 적용됨
import numpy as np
import pandas as pd

s = pd.Series(np.arange(100,105), ['a','b','c','d','e'])
s['a'] = 200 // a항목을 200으로 update 함
s.drop('k')  // k항목을 삭제하여 Series를 새로운 객체로 생성함
s.drop('k', inplace=True) // 새로운 객체를 생성하지 않고 해당 객체에 바로 적용한다

Slicing

s1 = pd.Series(np.arange(100,105))
a1[1:3]

// 숫자형이 아닌 자료의 indexing도 가능함
// 문자열 indexing 경우, 마지막 항목까지 포함한다
a1['c':'d']

 

 

 

학습 후