Lesson 08: pandas 공부 3단계
강의영상
imports
pandas 공부 3단계: 필터링
np.random.seed(43052)
att = np.random.choice(np.arange(10,21)*5,20)
rep = np.random.choice(np.arange(5,21)*5,20)
mid = np.random.choice(np.arange(0,21)*5,20)
fin = np.random.choice(np.arange(0,21)*5,20)
key = ['2022-12'+str(s) for s in np.random.choice(np.arange(300,501),20,replace=False)]
df = pd.DataFrame({'att':att,'rep':rep,'mid':mid,'fin':fin},index=key)
df.head()| att | rep | mid | fin | |
|---|---|---|---|---|
| 2022-12380 | 65 | 55 | 50 | 40 |
| 2022-12370 | 95 | 100 | 50 | 80 |
| 2022-12363 | 65 | 90 | 60 | 30 |
| 2022-12488 | 55 | 80 | 75 | 80 |
| 2022-12312 | 80 | 30 | 30 | 100 |
query (\(\star\))
- 예제1: att==90 and fin>30
- 예제2: att<rep and mid<fin
| att | rep | mid | fin | |
|---|---|---|---|---|
| 2022-12370 | 95 | 100 | 50 | 80 |
| 2022-12488 | 55 | 80 | 75 | 80 |
| 2022-12458 | 50 | 55 | 15 | 85 |
- 예제3: att < rep < 80
- 예제4: 50 < att <= 90 and mid < fin
| att | rep | mid | fin | |
|---|---|---|---|---|
| 2022-12488 | 55 | 80 | 75 | 80 |
| 2022-12312 | 80 | 30 | 30 | 100 |
| 2022-12463 | 65 | 45 | 45 | 90 |
| 2022-12452 | 65 | 55 | 15 | 45 |
| 2022-12354 | 90 | 90 | 80 | 90 |
- 예제5: (mid+fin)/2 >=60
| att | rep | mid | fin | |
|---|---|---|---|---|
| 2022-12370 | 95 | 100 | 50 | 80 |
| 2022-12488 | 55 | 80 | 75 | 80 |
| 2022-12312 | 80 | 30 | 30 | 100 |
| 2022-12463 | 65 | 45 | 45 | 90 |
| 2022-12396 | 95 | 30 | 30 | 95 |
| 2022-12354 | 90 | 90 | 80 | 90 |
- 예제6: att > mean(att)