카테고리 없음

loc, iloc 함수

렁다이쿤 2022. 10. 28. 23:56
728x90

데이터프레임에서 원하는 index 혹은 변수명을 통해 추출하는 함수입니다.

 

loc 구조

 

df.loc[인덱스입력]

 

역시 예시가 최고겠죠? 다음 코드를 보면서 공부해보세요

 

iris

 

 
Sepal.Length                   Sepal.Width            Petal.Length              Petal.Width          Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
... ... ... ... ...
6.7 3.0 5.2 2.3 virginica
6.3 2.5 5.0 1.9 virginica
6.5 3.0 5.2 2.0 virginica
6.2 3.4 5.4 2.3 virginica
5.9 3.0 5.1 1.8 virginica

150 rows × 5 columns

 

0:3행을 추출해보겠습니다.
iris.loc[0:3]
 
 
 
Sepal.Length                     Sepal.Width               Petal.Length               Petal.Width          Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
 

0행을 추출

iris.loc[0]
 
Sepal.Length       5.1
Sepal.Width        3.5
Petal.Length       1.4
Petal.Width        0.2
Species         setosa
Name: 0, dtype: object
 

 

엇? 왜 데이터프레임으로 안만들어지지?

 

당황하지 마시고 대괄호 하나 더!

 

iris.loc[[0]]

 

 
     Sepal.Length              Sepal.Width                Petal.Length               Petal.Width           Species
5.1 3.5 1.4 0.2 setosa
 
 
 
 
 
loc는 오로지! index를 통해서 정보를 추출한다고 보시면 됩니다. 연속적인 값만 예시를 보여드렸는데
 
iris.loc[[0,3,5,6,10]] 이런것도 실행시켜보세용
 
 
 
 
 
다음은 iloc
 
iloc는 행정보와 열정보를 모두 고려하고 싶다는 뜻입니다.
 
예시가 역시 최고이므로
 
 
 
0:3행, 0부터 2행(0 생략해도됩니당)
iris.iloc[0:3,:2]
 
 
 
                                         Sepal.Length                                                                      Sepal.Width
5.1 3.5
4.9 3.0
4.7 3.2
 
 
0:3행, 2부터 끝행까지
iris.iloc[0:3,2:]

   

 
                 Petal.Length                                  Petal.Width                  Species
1.4 0.2 setosa
1.4 0.2 setosa
1.3 0.2 setosa
 
 
 
0:3행, 끝에서 2번째부터 끝까지(-를 붙이면 뒤에서부터이니까 참고하시고 -1부터 시작할 수 있어용)
iris.iloc[0:3,-2:]
 
 
 
                              Petal.Width                            Species
0.2 setosa
0.2 setosa
0.2 setosa