logo

Pandas DataFrame의 loc()과 iloc()의 차이점

Python의 Pandas 라이브러리는 수학적 데이터를 조작하는 데 매우 유용하며 기계 학습 분야에서 널리 사용됩니다. 이는 적절한 기능을 수행하기 위한 다양한 방법으로 구성됩니다. 장소() 그리고 iloc() 그 방법 중 하나예요. 이는 다음에서 데이터를 분할하는 데 사용됩니다. 팬더 데이터프레임 . DataFrame에서 데이터를 편리하게 선택하는 데 도움이 됩니다. 파이썬 . 일부 조건에 따라 데이터를 필터링하는 데 사용됩니다.

Pandas DataFrame의 loc()과 iloc()의 차이점

여기서는 Pandas DataFrame의 loc() 함수와 iloc() 함수의 차이점을 살펴보겠습니다. 이 둘의 차이점을 확인하고 비교하기 위해 전체 단락에서 사용할 샘플 데이터 프레임을 만듭니다. 이 두 가지 방법의 작동 방식은 자동차 샘플 데이터세트에 설명되어 있습니다.



파이썬3




int를 문자열 java로 캐스팅





# importing the module> import> pandas as pd> > # creating a sample dataframe> data>=> pd.DataFrame({>'Brand'>: [>'Maruti'>,>'Hyundai'>,>'Tata'>,> >'Mahindra'>,>'Maruti'>,>'Hyundai'>,> >'Renault'>,>'Tata'>,>'Maruti'>],> >'Year'>: [>2012>,>2014>,>2011>,>2015>,>2012>,> >2016>,>2014>,>2018>,>2019>],> >'Kms Driven'>: [>50000>,>30000>,>60000>,> >25000>,>10000>,>46000>,> >31000>,>15000>,>12000>],> >'City'>: [>'Gurgaon'>,>'Delhi'>,>'Mumbai'>,> >'Delhi'>,>'Mumbai'>,>'Delhi'>,> >'Mumbai'>,>'Chennai'>,>'Ghaziabad'>],> >'Mileage'>: [>28>,>27>,>25>,>26>,>28>,> >29>,>24>,>21>,>24>]})> > # displaying the DataFrame> display(data)>

>

>

산출

 Brand Year Kms Driven City Mileage 0 Maruti 2012 50000 Gurgaon 28 1 Hyundai 2014 30000 Delhi 27 2 Tata 2011 60000 Mumbai 25 3 Mahindra 2015 25000 Delhi 26 4 Maruti 2012 10000 Mumbai 28 5 Hyundai 2016 46000 Delhi 29 6 Renault 2014 31000 Mumbai 24 7 Tata 2018 15000 Chennai 21 8 Maruti 2019 12000 Ghaziabad 24>

파이썬 loc() 함수

그만큼 loc() 함수 레이블 기반 데이터 선택 방법은 선택하려는 행이나 열의 이름을 전달해야 함을 의미합니다. 이 메서드에는 iloc()과 달리 전달된 범위의 마지막 요소가 포함됩니다. loc()는 iloc()와 달리 불리언 데이터를 받아들일 수 있습니다. 다음과 같은 loc() 메서드를 사용하여 많은 작업을 수행할 수 있습니다.

예시 1: 일부 조건에 따라 데이터 선택

이 예에서 코드는loc>브랜드가 'Maruti'이고 주행거리가 25 이상인 DataFrame에서 행을 선택하여 표시하여 주행거리가 높은 Maruti 자동차에 대한 관련 정보를 표시하는 기능입니다.

파이썬3




# selecting cars with brand 'Maruti' and Mileage>25> display(data.loc[(data.Brand>=>=> 'Maruti'>) & (data.Mileage>>25>)])>

>

>

산출

 Brand Year Kms Driven City Mileage 0 Maruti 2012 50000 Gurgaon 28 4 Maruti 2012 10000 Mumbai 28>

예 2: DataFrame에서 행 범위 선택

이 예에서 코드는loc>DataFrame에서 2~5(포함) 범위의 인덱스가 있는 행을 추출하고 표시하는 함수를 사용하여 데이터세트의 특정 자동차 범위에 대한 정보를 제공합니다.

파이썬3

웜퍼스 월드




# selecting range of rows from 2 to 5> display(data.loc[>2>:>5>])>

>

>

산출

bfs 검색
 Brand Year Kms Driven City Mileage 2 Tata 2011 60000 Mumbai 25 3 Mahindra 2015 25000 Delhi 26 4 Maruti 2012 10000 Mumbai 28 5 Hyundai 2016 46000 Delhi 29>

예시 3: 모든 열의 값 업데이트

이 예에서 코드는loc>함수를 사용하여 제조 연도가 2015년 이전인 DataFrame의 자동차에 대해 '마일리지' 값을 22로 업데이트합니다. 그런 다음 마일리지 열의 변경 사항을 반영하여 수정된 DataFrame이 표시됩니다.

파이썬3




# updating values of Mileage if Year <2015> data.loc[(data.Year <>2015>), [>'Mileage'>]]>=> 22> display(data)>

>

>

Python 파일에 json 쓰기

산출

 Brand Year Kms Driven City Mileage 0 Maruti 2012 50000 Gurgaon 22 1 Hyundai 2014 30000 Delhi 22 2 Tata 2011 60000 Mumbai 22 3 Mahindra 2015 25000 Delhi 26 4 Maruti 2012 10000 Mumbai 22 5 Hyundai 2016 46000 Delhi 29 6 Renault 2014 31000 Mumbai 22 7 Tata 2018 15000 Chennai 21 8 Maruti 2019 12000 Ghaziabad 24>

파이썬 iloc() 함수

그만큼 iloc() 함수 이는 인덱스 기반 선택 방법으로, 특정 행/열을 선택하려면 메서드에 정수 인덱스를 전달해야 함을 의미합니다. 이 메서드는 loc()와 달리 전달된 범위의 마지막 요소를 포함하지 않습니다. iloc()은 loc()와 달리 부울 데이터를 허용하지 않습니다. iloc()을 사용하여 수행되는 작업은 다음과 같습니다.

예시 1: 정수 인덱스를 사용하여 행 선택

이 예에서 코드는 다음을 사용합니다.iloc>DataFrame에서 인덱스 0, 2, 4, 7이 있는 특정 행을 추출하고 표시하여 데이터 세트에서 선택한 자동차에 대한 정보를 표시하는 함수입니다.

파이썬3




# selecting 0th, 2nd, 4th, and 7th index rows> display(data.iloc[[>0>,>2>,>4>,>7>]])>

>

>

Java에서 정수를 문자열로

산출

 Brand Year Kms Driven City Mileage 0 Maruti 2012 50000 Gurgaon 28 2 Tata 2011 60000 Mumbai 25 4 Maruti 2012 10000 Mumbai 28 7 Tata 2018 15000 Chennai 21>

예 2: 열과 행 범위를 동시에 선택

이 예에서 코드는iloc>1~4행과 2~4열을 포함하여 DataFrame의 하위 집합을 추출하고 표시하는 함수입니다. 이는 데이터세트의 특정 범위의 자동차와 관련 속성에 대한 정보를 제공합니다.

파이썬3




# selecting rows from 1 to 4 and columns from 2 to 4> display(data.iloc[>1>:>5>,>2>:>5>])>

>

>

산출

 Kms Driven City Mileage 1 30000 Delhi 27 2 60000 Mumbai 25 3 25000 Delhi 26 4 10000 Mumbai 28>