일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- TypeScript
- Vue
- merge
- git
- socket io
- wetube
- docker
- MongoDB
- crud
- EC2
- 카톡
- 채팅
- node
- pandas
- react
- 튜플
- S3
- 중급파이썬
- Class
- flask
- SAA
- async
- 파이썬
- NeXT
- Props
- AWS
- lambda
- RDS
- SSA
- dict
- Today
- Total
초보 개발자
6. 데이터선택 iloc, 조건 ( 나도코딩 pandas ) 본문
iloc
앞서 컬럼 명이라던지, 인덱스 이름을 이용해서 데이터를 선택했는데, 이번에는 인덱스를 이용하여 선택해보려고한다.
방법은 같다. 차이라고하면 단순히 인덱스를 사용하냐, 이름을 사용하냐정도인 것 같다.
숫자 0을 적으면 0번째 행의 값들을 불러온다. 이 역시 슬라이싱이 가능하다.
다만 다른 점은 loc에서는 슬라이싱을 할 때 끝 인덱스 값도 포함해주어 보여줬지만, iloc에서는 끝 인덱스 값은 포함하지 않는다.
0:4 -> 0,1,2,3 이렇게 4개만 보여주는 것을 확인할 수 있다.
원하는 컬럼 값만 선택하고 싶다면 뒤에 컬럼의 인덱스 값을 적어주면된다.
복수라면 배열안에 넣어주자.
물론 슬라이싱도 가능하다.
조건
시리즈에 부등호를 사용하면 값이 boolean으로 변경된다.
이를 df에 넣으면 값이 True인 행만 출력한다.
여기서 원하는 컬럼만 출력하고 싶다면 앞서 배운 loc를 사용하면된다.
loc[row_sel, col_sel]와 같은 형태를 띄니까 위의 조건을 row_sel쪽에 넣어주고, col_sel부분에 원하는 컬럼명을 적어주면 될 것이다.
그럼 키가 185이상인 학생들의 수학점수를 가져와보겠다.
키가 185 이상이면서 북산고에 다니는 학생들을 보고싶다. 이렇게 복수의 조건을 달 수 있는데,
& ( and ) | ( or )를 사용하면 된다.
조건 앞에 ~를 붙이면 해당 조건에 해당하지 않는 값들을 보여준다.
str 함수
str을 사용하여 조건을 검색할 수 있다. 보통 문자열 값을 가진 행을 확인할 때 사용하는 듯 하다.
예를들어 키를 확인하는 방법은 이렇게 했다.
df['height'] >= 185
이름이 '채'로 시작하지 않는 사람만 확인하고 싶다면 str.starswith 를 사용하여 조건을 만든 뒤 ~를 사용하면 된다.
str.contains 이라는 함수는 포함을 하고 있다면 True를 반환한다.
isin을 사용하면 배열안에있는 값들이 있는 행들만 출력을한다.
python, javacript 값을 가지고 있는 행들만 출력해보자
위와 같이 하면된다.
근데 Python도 있지만 PYTHON이라는 값도 가지고 있다. 이 두개를 다 보고싶은데, 배열안에는 PYTHON이 들어있지 않으니 인식을 못한것이다. 이 때도 str을 사용하면 쉽게 처리할 수 있다.
먼저 배열의 값을 다 소문자로 바꿔준 뒤 str안에 있는 lower함수를 사용하면 값이 전부 소문자가 된 것을 확인할 수 있다.
여기서 isin을 사용하면 된다.
그럼 java가 들어있는 값을 전부 가져와보자 여기선 java와 javascript이 두개가 있을 것이다.
어떤 값이 들어있는지 확인하고 싶을 때는 contains를 사용하면 된다고 했다.
근데 위와같이 오류가 발생했다.
그 이유를 보니 filt 값 안에 NaN이 들어있고 이걸 필터로 사용했기 때문이다.
근데 필터는 True, False인 값만 출력을 해주는데 Nan이 들어있어서,에러가 난 것이다.
contains의 옵션 중에 na=False를 주면 NaN값이 있다면 원하는 값으로 바꿔주는 설정이 있다.
이걸 줘서 해보자.
'Python > pandas' 카테고리의 다른 글
8. 데이터 정렬 및 수정 ( 나도코딩 pandas ) (0) | 2022.11.07 |
---|---|
7 결측치 ( 나도코딩 pandas ) (0) | 2022.11.06 |
5. 데이터 확인 ( 나도 코딩 pandas ) (2) | 2022.11.01 |
4. 파일 열고 저장하기 ( 나도코딩 pandas ) (0) | 2022.10.29 |
3. index ( 나도 코딩 pandas ) (0) | 2022.10.29 |