logo

Atšķirība starp loc() un iloc() Pandas DataFrame

Python Pandas bibliotēka ir ļoti noderīga, lai apstrādātu matemātiskos datus, un to plaši izmanto mašīnmācības jomā. Tas ietver daudzas metodes tā pareizai darbībai. vieta () un iloc() ir viena no šīm metodēm. Tie tiek izmantoti datu sagriešanai no Pandas DataFrame . Tie palīdz ērti atlasīt datus no DataFrame in Python . Tos izmanto datu filtrēšanai saskaņā ar dažiem nosacījumiem.

Atšķirība starp loc() un iloc() Pandas DataFrame

Šeit mēs redzēsim atšķirību starp loc() un iloc() funkcijām Pandas DataFrame. Lai redzētu un salīdzinātu atšķirību starp šiem diviem, mēs izveidosim datu rāmja paraugu, ko izmantosim visā rindkopā. Abu šo metožu darbība ir izskaidrota automašīnu parauga datu kopā.



python3




es5 pret es6





# 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)>

>

>

Izvade

 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>

Python loc() funkcija

The loc() funkcija ir uz etiķetes balstīta datu atlases metode, kas nozīmē, ka mums ir jānodod tās rindas vai kolonnas nosaukums, kuru vēlamies atlasīt. Šī metode atšķirībā no iloc() ietver tajā nodotā ​​diapazona pēdējo elementu. loc () var pieņemt Būla datus atšķirībā no iloc (). Daudzas darbības var veikt, izmantojot loc() metodi, piemēram

1. piemērs: Datu atlase saskaņā ar dažiem nosacījumiem

Šajā piemērā kods izmantoloc>funkcija, lai atlasītu un parādītu rindas no DataFrame, kur zīmols ir “Maruti” un nobraukums ir lielāks par 25, parādot būtisku informāciju par Maruti automašīnām ar lielu nobraukumu.

python3




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

virknes apakšvirkne
>

>

Izvade

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

2. piemērs: Rindu diapazona atlase no DataFrame

Šajā piemērā kods izmantoloc>funkcija, lai no DataFrame izvilktu un parādītu rindas ar indeksiem no 2 līdz 5 (ieskaitot), sniedzot informāciju par konkrētu automašīnu klāstu datu kopā.

python3




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

java saišu saraksts

>

>

Izvade

 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. piemērs: Jebkuras kolonnas vērtības atjaunināšana

Šajā piemērā kods izmantoloc>funkciju, lai atjauninātu “Nobraukuma” vērtības uz 22 automašīnām DataFrame, ja ražošanas gads ir pirms 2015. gada. Pēc tam tiek parādīts modificētais DataFrame, atspoguļojot kolonnā Nobraukums veiktās izmaiņas.

python3




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

>

>

Izvade

 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>

Python iloc() funkcija

The iloc() funkcija ir uz indeksu balstīta atlases metode, kas nozīmē, ka mums ir jānodod vesela skaitļa indekss metodē, lai atlasītu konkrētu rindu/kolonnu. Šī metode neietver pēdējo tajā nodotā ​​diapazona elementu atšķirībā no loc(). iloc () atšķirībā no loc () nepieņem Būla datus. Operācijas, kas tiek veiktas, izmantojot iloc(), ir:

1. piemērs: Rindu atlase, izmantojot veselus skaitļus

Šajā piemērā kods izmantoiloc>funkcija, lai izvilktu un parādītu noteiktas rindas ar indeksiem 0, 2, 4 un 7 no DataFrame, parādot informāciju par izvēlētajām automašīnām datu kopā.

python3




kā izdzēst kolonnu postgresql
# selecting 0th, 2nd, 4th, and 7th index rows> display(data.iloc[[>0>,>2>,>4>,>7>]])>

>

>

Izvade

 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. piemērs: Vienlaicīga kolonnu un rindu diapazona atlase

Šajā piemērā kods izmantoiloc>funkcija, lai izvilktu un parādītu DataFrame apakškopu, tostarp 1. līdz 4. rindu un 2. līdz 4. kolonnu. Tas sniedz informāciju par konkrētu automašīnu klāstu un to attiecīgajiem atribūtiem datu kopā.

šķirošanas kaudze

python3




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

>

>

Izvade

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