Pandade grupi keskmine

Pandade Grupi Keskmine



Kui liidame kaks või enam väärtust kokku ja nende summa jagatakse kokku liidetud väärtuste koguarvuga, on tulemuseks keskmine. Pandas Mean tagastab andmete või väärtuse keskmise piki antud telge. Pandad tagastavad telje keskmisega seeria, kui andmekaadrile rakendatakse meetodit mean(). Pandad tagastavad arvväärtuse (üks number), kui seerias kasutatakse “mean()”. Funktsioone saab kategooriatele rakendada pärast kategooriarühmade loomist. See on lihtne idee, kuid väga tõhus tehnika, mida kasutatakse andmeteaduses sageli. See võimaldab meil luua iga rühma andmetest kokkuvõtte, rakendada rühmaspetsiifilisi muudatusi ja teostada andmete filtreerimist. Funktsiooni groupby() abil saab objekti jagada, funktsiooni rakendada ja seejärel tooteid kombineerida. Selle abil saab rühmitada suuri andmekogumeid ja teha rühmadega toiminguid.

Kuidas kasutada Pandas meetodit groupby.mean()?

Andmekaadri keskmise või andmekaadri konkreetsete veergude keskmise arvutamiseks saame kasutada funktsiooni groupby.mean(). Näitame, kuidas seda kasutada järgmistes näidetes.







Näide # 01: ühe täisarvulise veeru keskmise määramine ühe veeru andmete rühmitamise teel

Funktsiooni pd.DataFrame() abil loome esmalt andmeraami, et saaksime andmeraami veeru või veergude andmed jagada rühmadesse ja seejärel leida nende keskmise väärtuse. Enne andmeraami loomist peame importima pandamooduli koos numpy teegiga.





Nagu näha, oleme loonud oma andmeraami pandasõnastiku abil. Meie df-andmeraamis on 3 veergu, st „üksused”, „tootja” ja „kogus”. Veerus 'esemed' oleme salvestanud väärtused ('särk', 'lips', 'püksid', 'särk', 'lips', 'püksid', 'särk', 'püksid', 'püksid', ' lips'), samas kui veerud 'tootja' ja 'kogus' sisaldavad väärtusi ('itaalia', 'prantsusmaa', 'hiina', 'prantsusmaa', 'hiina', 'itaalia', 'hiina', 'itaalia', 'prantsusmaa', 'hiina') ja (13, 16, 21, 32, 26, 41, 24, 42, 12, 15). Rühmitame väärtused tootja veerus ja määrame iga erineva tootja keskmise koguse väärtuse.





Tootja väärtuse 'Hiina' keskmine koguse väärtus on 21,5, 'Prantsusmaa' keskmine koguse väärtus on 20,0 ja 'Itaalia' keskmine koguse väärtus on 32,0. Samuti saame määrata väljundi indeksi, kasutades funktsiooni reset_index koos funktsiooniga groupby.mean().



Näide # 02: leidke ühe ujuva veeru keskmine väärtus, rühmitades ühe veeru andmed

Oleme näinud, kuidas saame pärast andmete rühmitamist leida täisarvu veeru keskmise. Nüüd proovime teist andmetüübi veergu, näiteks float. Funktsiooni pd.DataFrame() abil luuakse andmeraam, milles on vähemalt üks ujuvväärtustega veerg.

Pannes sõnastiku pd.DataFrame() sisse, oleme loonud kolme veeruga andmeraami. Veerus 'nimi' on salvestatud mõnede juhuslike mängijate nimed ('Sam', 'Jay', 'Leo', 'Mike', 'Will', 'Billy', 'Jhonny', 'Lara', 'Hanna', 'Tony'), veerg 'meeskond', mis tähistab meeskonda, kuhu iga mängija kuulub ('A', 'A', 'B', 'A', 'B', 'A', 'C', 'B' ', 'C', 'C') ja veerg 'kõrgus' salvestab iga mängija kõrgused ujuva väärtusena (5,6, 5,4, 6,3, 5,2, 5,5, 6,4, 5,6, 5,8, 6,0, 5,2). Rühmitame andmed veerus „meeskond” ja määrame iga erineva „meeskonna” väärtuse keskmise pikkuse.

Näete, et võistkonna A mängijate keskmine pikkus on 5,65, samas kui võistkonnas B ja C on mängijate keskmised pikkused vastavalt 5,866 ja 5,6.

Näide # 03: Määrake mitme veeru keskmine, kasutades funktsiooni groupby.mean()

Eelmistes näidetes määrasime ühe veeru keskmise. Siiski saab määrata ka iga rühma arvukate veergude keskmise. Loome pärast pandade ja numpy moodulite importimist andmeraami, millel on rohkem kui üks numbriline veerg.

Äsja loodud andmeraamis on kolm veergu siltidega „nimi”, „skoor” ja „vastused”. Veergude nimed, mille andmeväärtused on stringid ('Ron', 'Jim', 'Dany', 'Jim', 'Jim', 'Dany', 'Ron', 'Ron', 'Dany', 'Jim' ), samas kui „skoor” ja „vastused” koosnevad arvulistest andmetest nagu (3, 4, 2, 4, 1, 5, 2, 3, 1, 2) ja (2, 3, 1, 2, 1, 3) , 4, 1, 2, 1). Nüüd leiame veeru 'skoor' ja 'vasted' keskmise pärast veeru 'nimi' andmete rühmitamist. Selleks kasutatakse funktsiooni groupby.mean().

Võib märgata, et grupi 'Dany' keskmine punktisumma on 2,00 matšis 2,66. Grupi Jimi keskmine punktisumma on 2,75 ja mängitud matšide keskmine väärtus on 1,75. Kui grupi 'Ron' keskmine punktisumma on 2,66 ja mängitud matšide keskmine väärtus on 2,33.

Objekti kategooriate rühma keskmist saab arvutada ka agg() meetodil. Anname funktsiooni agg() argumendina keskmise. Ühe või mitme toiminguga antud teljel koondamiseks saame kasutada funktsiooni agg().

Väljund on sama, mis varem.

Näide # 04: määrake konkreetsete veergude keskmine, rühmitades mitu veergu

Näidetes 1, 2 ja 3 oleme rühmitanud ühe veeru väärtused või andmed. Nüüd rühmitame mitu veergu, kasutades veerusiltide loendit funktsiooni groupby() sees, ja seejärel leiame iga rühma keskmise väärtuse. Andmeraami loomisel sisestatakse funktsiooni pd.Dataframe() sees sõnastik d.

Oleme loonud vajaliku andmeraami. Veerus 'sport' on salvestatud mõne spordiala nimetus ('Sulgpall', 'jalgpall', 'tennis', 'korvpall', 'jalgpall', 'tennis', 'korvpall', 'jalgpall', 'sulgpall', ' korvpall', 'korvpall', 'tennis'), riikide nimed ('Hiina', 'Venemaa', 'Itaalia', 'Hispaania', 'Venemaa', 'Itaalia', 'Hiina', 'Itaalia', ' Hispaania', 'Hiina', 'Venemaa', 'Itaalia') salvestatakse veerus 'riik'. Kui veergu 'võit' oleme salvestanud iga riigi võidetud matšide arvu igal spordialal (13, 10, 6, 7, 10, 12, 7, 11, 8, 13, 11, 6). Kasutame funktsiooni groupby.mean(), et leida veeru 'win' väärtuste keskmine, rühmitades veerud 'sport' ja 'country'.

Funktsioon on edukalt määranud iga riigi spordiala veeru „võidud” väärtuste keskmised. Grupeeritud andmeraami saab lähtestada funktsiooni reset_index() abil, mis genereerib ka uue indeksi, andes sellele sobiva andmekaadri struktuuri.

Iga andmeraami rea jaoks lisatakse register. Tulemuste atraktiivsesse tabelisse paigutamiseks saame kasutada ka funktsiooni pivot().

Järeldus

Selles õpetuses oleme arutanud, mis on arvude keskmine või keskmine ja kuidas leida konkreetse veeru (ühe või mitme) keskmine pärast andmeraami veeru või veergude rühmitamist. Rakendasime selles artiklis mõned näited, et õpetada teile, kuidas määrata ühe täisarvu või ujuva veeru keskmist, rühmitades ühe veeru andmed; kuidas määrata funktsiooni groupby.mean() abil mitme veeru keskmist; ja ka seda, kuidas määrata konkreetsete veergude keskmist mitme veeru rühmitamise teel.