pandas series를 이용해 boolean selection을 공부해보자.
다행히 이는 numpy에서 boolean과 크게 다른 점이 없다.
import numpy as np
import pandas as pd
- Boolean selection
- boolean Series가 []와 함께 사용되면 True 값에 해당하는 값만 새로 반환되는 Series객체에 포함됨
- 다중(multiple)조건의 경우, &(and), |(or)를 사용하여 연결 가능하다.
# <in>
s = pd.Series(np.arange(10), np.arange(10)+1)
s
# <out>
1 0
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
dtype: int64
# <in>
s > 5
# <out>
1 False
2 False
3 False
4 False
5 False
6 False
7 True
8 True
9 True
10 True
dtype: bool
value의 값이 5보다 크면 True를 반환한다.
# <in>
s[s>5]
# <out>
7 6
8 7
9 8
10 9
dtype: int64
value의 값이 5보다 큰 인덱스(True)인 값만 인덱싱해준다.
# <in>
s.index > 5
s[s.index > 5]
# <out>
6 5
7 6
8 7
9 8
10 9
dtype: int64
.index함수를 사용해 인덱스로 boolean selection을 할 수 있다.
- 다중조건 boolean selection
# <in>
s[(s > 5) & (s < 8)]
# <out>
7 6
8 7
dtype: int64
아래의 두 코드의 차이점을 이해해보자.
# <in>
(s >= 7).sum()
(s[s>=7]).sum()
# <out>
3
24
첫 번째 코드는 value의 값이 7보다 큰 것의 개수의 합
두 번째 코드는 value의 값이 7보다 큰 것들의 합 으로 해석할 수 있다.
'python > pandas' 카테고리의 다른 글
6. pandas DataFrame - 데이터 살펴보기 (0) | 2023.02.17 |
---|---|
5. pandas Series 슬라이싱 (0) | 2023.02.17 |
3. pandas Series 연산 (0) | 2023.02.17 |
2. pandas - series 함수 (0) | 2023.02.17 |
1. pandas - Series data (0) | 2023.02.17 |