pandos

„Pandas“ mokymo programa „Python“

„Pandas“ mokymo programa „Python“
Šioje „Python Pandas“ bibliotekos pamokoje panagrinėsime skirtingas duomenų struktūras, kurias šis „Python“ paketas suteikia greito duomenų apdorojimo funkcijoms, kurios yra efektyvios dinaminiams duomenims valdyti ir sudėtingoms operacijoms valdyti per daugialypius duomenis. Šioje pamokoje daugiausia aptarsime:

Tai atrodo daug ką aprėpti. Pradėkime dabar.

Kas yra „Python Pandas“ paketas?

Pagal „Pandas“ pagrindinį puslapį: „pandas“ yra atviro kodo, BSD licencijuota biblioteka, teikianti našias, lengvai naudojamas duomenų struktūras ir duomenų analizės įrankius „Python“ programavimo kalbai.

Vienas iš šauniausių „Pandas“ dalykų yra tai, kad jis leidžia skaityti duomenis iš įprastų duomenų formatų, tokių kaip CSV, SQL ir kt. labai lengva, todėl jį galima vienodai naudoti gamybos lygio programose ar tik kai kuriose demonstracinėse programose.

Įdiekite „Python Pandas“

Tiesiog pradėdami diegimo procesą, atkreipkite dėmesį į virtualią aplinką šiai pamokai, kurią atlikome naudodami šią komandą:

pitonas -m virtualenv pandos
šaltinis pandos / bin / aktyvuoti

Kai virtuali aplinka bus aktyvi, mes galime įdiegti „pandas“ biblioteką virtualioje aplinkoje, kad būtų galima vykdyti toliau sukurtus pavyzdžius:

pip įdiegti pandas

Arba galime naudoti „Conda“ šiam paketui įdiegti naudodami šią komandą:

conda įdiegti pandas

Mes matome kažką panašaus, kai vykdome pirmiau nurodytą komandą:

Kai diegimas bus baigtas su „Conda“, „Python“ scenarijuose esantį paketą galėsime naudoti kaip:

importuoti pandas kaip pd

Dabar pradėkime naudoti „Pandas“ savo scenarijuose.

CSV failo skaitymas naudojant „Pandas DataFrames“

Su „Pandas“ lengva skaityti CSV failą. Norėdami parodyti, sukūrėme nedidelį CSV failą su tokiu turiniu:

Pavadinimas, RollNo, priėmimo data, kontaktinis pranešimas
Šubhamas, 2012 5 20, 9988776655
Gaganas, 2009 20 20, 8364517829
Oshima, 2003 3 20, 5454223344
Vyomas, 4,20-05-2009,1223344556
Ankuras, 5,20-05-1999,9988776655
Vinodas, 6,20-05-1999,9988776655
Vipinas, 2002 20 7, 9988776655
Ronakas, 2007 8 8, 2023344556
DJ, 2014 9 9, 20, 9988776655
VJ, 2015 10 10, 20, 9988776655

Išsaugokite šį failą tame pačiame kataloge kaip ir „Python“ scenarijus. Kai failas bus pateiktas, į „Python“ failą įtraukite šį kodo fragmentą:

importuoti pandas kaip pd
studentai = pd.read_csv ("studentai.csv ")
studentų.galva()

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

Funkciją „head“ („Pandas“) galima naudoti duomenų, esančių „DataFrame“, pavyzdžiui parodyti. Palaukite, „DataFrame“? Kitame skyriuje mes išstudijuosime daug daugiau apie „DataFrame“, bet tiesiog supraskime, kad „DataFrame“ yra n matmenų duomenų struktūra, kuri gali būti naudojama duomenų rinkiniui laikyti ir analizuoti arba atlikti sudėtingas operacijas.

Taip pat galime pamatyti, kiek eilučių ir stulpelių turi dabartiniai duomenys:

studentų.figūra

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

Atkreipkite dėmesį, kad „Pandas“ taip pat skaičiuoja eilučių skaičių nuo 0.

Galima gauti tik stulpelį sąraše su Pandomis. Tai galima padaryti padedant indeksavimas Pandose. Pažvelkime į trumpą to paties kodo fragmentą:

studentų_vardai = studentai ['vardas']
studentų vardai

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

Bet tai neatrodo kaip sąrašas, ar ne? Na, norėdami konvertuoti šį objektą į sąrašą, turime aiškiai iškviesti funkciją:

studentų vardai = studentų vardai.išvardinti()
studentų vardai

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

Norėdami gauti papildomos informacijos, galime įsitikinti, kad kiekvienas sąrašo elementas yra unikalus, o ne tuščius elementus renkame tik pridėdami keletą paprastų patikrinimų, tokių kaip:

studentų_vardai = studentai ['vardas'].dropna ().Unikalus().išvardinti()

Mūsų atveju išvestis nepasikeis, nes sąraše jau nėra jokių netinkamų verčių.

Mes taip pat galime sukurti „DataFrame“ su neapdorotais duomenimis ir kartu su jais perduoti stulpelių pavadinimus, kaip parodyta šiame kodo fragmente:

my_data = pd.„DataFrame“ (
[
[1, „Chan“],
[2, „Smith“],
[3, „Winslet“]
],
stulpeliai = ["Reitingas", "Pavardė"]
)
my_data

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

„DataFrames“ pjaustymas

„DataFrame“ suskirstymas, norint išskleisti tik pasirinktas eilutes ir stulpelius, yra svarbi funkcija, norint atkreipti dėmesį į reikalingas duomenų dalis, kurias turime naudoti. Tam „Pandas“ leidžia mums suskirstyti „DataFrame“, kai reikia, su tokiais teiginiais:

Ankstesniame skyriuje jau matėme indeksavimą ir pjaustymą stulpelių pavadinimais vietoj indeksų. Taip pat galima sumaišyti pjaustymą su indekso numeriais ir stulpelių pavadinimais. Pažvelkime į paprastą kodo fragmentą:

studentų.loc [: 5, 'vardas']

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

Galima nurodyti daugiau nei vieną stulpelį:

studentų.loc [: 5, ['Vardas', 'Kreipkitės pagalbos telefonu]]]

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

Serijos duomenų struktūra pandose

Kaip ir „Pandas“ (tai yra daugialypė duomenų struktūra), „Series“ yra „Pandas“ vieno matmens duomenų struktūra. Kai gauname vieną stulpelį iš „DataFrame“, mes iš tikrųjų dirbame su serija:

tipas (studentai ["Vardas"])

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

Mes taip pat galime sukurti savo seriją, čia yra to paties kodo fragmentas:

serija = pd.Serija (['Shubham', 3.7])
serijos

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

Kaip aišku iš aukščiau pateikto pavyzdžio, serijoje taip pat gali būti keli to paties stulpelio duomenų tipai.

Būlo filtrai sistemoje „Pandas DataFrame“

Vienas iš geriausių „Pandas“ dalykų yra tai, kaip išgauti duomenis iš „DataFrame“ pagal sąlygą. Panašu, kad studentai būtų atrenkami tik tada, kai jų skaičius didesnis nei 6:

roll_filter = studentai ['RollNo']> 6
roll_filter

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

Na, ne to mes tikėjomės. Nors išvestis yra gana aiški, kurios eilutės atitiko mūsų pateiktą filtrą, tačiau vis tiek neturime tikslių eilučių, kurios tenkintų šį filtrą. Pasirodo filtrus galime naudoti kaip „DataFrame“ indeksus taip pat:

studentai [roll_filter]

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

Filtre galima naudoti kelias sąlygas, kad duomenis būtų galima filtruoti viename glaustame filtre, pavyzdžiui:

next_filter = (studentai ['RollNo']> 6) ir (studentai ['Vardas']> 'S')
studentai [kitas_filtras]

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

Skaičiuojama mediana

„DataFrame“ taip pat galime apskaičiuoti daugybę matematinių funkcijų. Pateiksime gerą medianos apskaičiavimo pavyzdį. Mediana bus skaičiuojama pagal datą, o ne tik už skaičius. Pažvelkime į trumpą to paties kodo fragmentą:

datos = studentai ['Priėmimo data'].astype ('datetime64 [ns]').kvantilis (.5)
datas

Vykdydami pirmiau pateiktą kodo fragmentą, pamatysime šį išvestį:

Tai pasiekėme iš pradžių indeksuodami turimą datos stulpelį ir tada pateikdami duomenų tipą stulpelyje, kad „Pandas“ galėtų tai teisingai padaryti išvadą, kai skaičiuojant medianą taikoma kvantilės funkcija.

Išvada

Šioje pamokoje apžvelgėme įvairius „Pandas“ apdorojimo bibliotekos aspektus, kuriuos galime naudoti kartu su „Python“ rinkdami duomenis iš įvairių šaltinių į „DataFrame“ duomenų struktūrą, kuri leidžia mums sudėtingai valdyti duomenų rinkinį. Tai taip pat leidžia mums gauti duomenų, kuriuos norime dirbti trumpam, rinkinį ir suteikia daug matematinių operacijų.

Prašome pasidalinti savo atsiliepimais apie pamoką „Twitter“ su @sbmaggarwal ir @LinuxHint.

Kaip įdiegti ir žaisti „Doom“ sistemoje „Linux“
Įvadas į Doom „Doom“ serija atsirado 90-aisiais, išleidus originalų „Doom“. Tai buvo tiesioginis hitas, o nuo to laiko žaidimų serija gavo daugybę apd...
„Vulkan“, skirta „Linux“ vartotojams
Kiekvienos naujos kartos grafikos plokštės matome, kaip žaidimų kūrėjai peržengia grafinės ištikimybės ribas ir artėja prie fotorealizmo. Nepaisant vi...
„OpenTTD“ ir „Simutrans“
Sukurti savo transporto modeliavimą gali būti smagu, atpalaiduojanti ir be galo viliojanti. Štai kodėl jūs turite įsitikinti, kad išbandėte kuo daugia...