일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- office
- win32com
- 깃
- python
- Outlook
- 파이썬
- matlab
- Excel
- 윈도우11
- git
- 비주얼베이직
- Android
- 안드로이드
- windows
- 엑셀
- pythongui
- python3
- 문자열
- 파워포인트
- pandas
- pyqt5
- VBA
- Windows10
- 오피스
- 파이썬GUI
- 아웃룩
- 윈도우10
- html
- Windows11
- 파이썬3
Appia의 IT세상
파이썬[Python] Pandas, DataFrame의 범위를 이용한 열, 행 선택 방법(iloc) 본문
파이썬[Python] Pandas, DataFrame의 범위를 이용한 열, 행 선택 방법(iloc)
Appia 2020. 4. 4. 07:09이전 포스팅에서는 loc()를 이용하여 각 인덱스(label) 값을 바탕으로 데이터를 선별하는 방법에 대해서 살펴봤습니다. 하지만, 생각보다 키값 또는 인덱스 값을 정확히 알고 있는 사람들이 많지 않을 수 있습니다. 따라서, 이번 포스팅에서는 이전 포스팅과는 달리, 숫자를 이용한 범위 지정 또는 데이터를 선택하는 방법에 대해서 살펴보고자 합니다.
이와 같은 숫자를 이용하여 데이터를 선택하거나 범위를 지정하는 방식에 사용되는 함수는 다음과 같습니다.
iloc() - 숫자를 이용한 범위 또는 데이터 선택
그럼 예시를 보면서 하나식 살펴보도록 하겠습니다.
example) 특정 열까지 데이터 출력
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(8, 5), index = ['a','b','c','d','e','f','g','h'], columns = ['A', 'B', 'C', 'D','E']) print("~4번째 열까지 출력") print (df.iloc[:4]) | cs |
result)
~4번째 열까지 출력 A B C D E a 0.026009 -0.977460 -0.506913 0.794095 0.566339 b -1.022479 -0.533778 -0.167793 0.185686 -0.753602 c -0.388914 -1.178371 -0.901626 -2.087328 0.595545 d 1.487943 0.287191 -1.001782 0.746699 0.868238 | cs |
iloc[]를 이용할 때도 0부터 시작합니다. 따라서, [:4]를 통해 0, 1, 2, 3에 해당하는 열들을 출력합니다.
그럼 특정 행을 한번 출력해보도록 하겠습니다.
example) 특정 행까지 데이터 출력
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(8, 5), index = ['a','b','c','d','e','f','g','h'], columns = ['A', 'B', 'C', 'D','E']) print("~2번째 행까지 출력") print (df.iloc[:,:2]) | cs |
result)
~2번째 행까지 출력 A B a -0.322768 -1.089023 b 0.643058 0.730364 c 0.861823 -1.403163 d -0.119051 0.191363 e 0.997609 -0.376027 f 1.059350 -1.378842 g 1.110402 -0.775568 h -0.150513 1.303761 | cs |
iloc[열, 행] 기반으로 진행이 됩니다. 만약에 인자가 한개만 입력되었다면, 열만 표시가 됩니다. 따라서 행만 출력하시고자 한다면 iloc[:,행범위]을 입력해주셔야 합니다. 그럼 이번에는 좀 더 다른 예시를 살펴보겠습니다. 행열에 대한 특정 범위 및 특정 데이터만 선별해보도록 하겠습니다.
example)
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(8, 5), index = ['a','b','c','d','e','f','g','h'], columns = ['A', 'B', 'C', 'D','E']) print("특정 데이터 선별") print(df.iloc[[1, 3, 5], [1, 3]]) print("특정 범위 데이터 선별") print(df.iloc[1:3,1:3]) | cs |
result)
특정 데이터 선별 B D b 1.104821 1.288467 d -0.035517 -1.084780 f -0.974689 0.426956 특정 범위 데이터 선별 B C b 1.104821 -1.080086 c 0.199188 0.430382 | cs |
특정데이터를 선별할 경우에는 iloc[[열 부분],[행 부분]] 형태로 하셔야 합니다. 그럼 범위를 지정할 경우에는 iloc[열 시작 : 열 끝(열 부분), 행 시작 : 행 끝(행부분)]으로 사용하셔야 합니다.
이번 포스팅에서는 인덱스 방법을 바탕으로 데이터를 선별하고 선택하는 방법에 대해서 살펴봤습니다. 이전 포스팅인 loc를 활용하는 부분과 함께 보는 것도 좋을 것 같습니다. ( 다음 링크 참조)
파이썬[Python] Pandas, DataFrame의 인덱스(label)를 이용한 열, 행 선택 방법(loc)
혹시 궁금하시거나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨 주시길 바랍니다. 감사합니다.
'Python > Python Pandas' 카테고리의 다른 글
파이썬[Python] Pandas, CSV파일 불려오기, 내보내기 (1) | 2020.04.24 |
---|---|
파이썬[Python] Pandas, DataFrame의 날짜를 이용한 Index(Label)만들기 (0) | 2020.04.06 |
파이썬[Python] Pandas, DataFrame의 인덱스(label)를 이용한 열, 행 선택 방법(loc) (0) | 2020.04.03 |
파이썬[Python] Pandas, DataFrame의 데이터 정렬하기(Sort) (0) | 2020.04.01 |
파이썬[Python] Pandas, DataFrame 루프(Iteration) 돌기 (1) | 2020.03.31 |