- Kas yra „Pandas“ paketas
- Diegimas ir darbo pradžia
- Įkeliami duomenys iš CSV į „Pandas DataFrame“
- Kas yra „DataFrame“ ir kaip jis veikia
- „DataFrames“ pjaustymas
- Matematinės operacijos per „DataFrame“
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 pandasArba galime naudoti „Conda“ šiam paketui įdiegti naudodami šią komandą:
conda įdiegti pandasMes 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 pdDabar 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 pdstudentai = 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ūraVykdydami 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:
- iloc [: 4 ,:] - parenka pirmąsias 4 eilutes ir visus tų eilučių stulpelius.
- iloc [:,:] - pasirinktas visas „DataFrame“
- iloc [5:, 5:] - eilutės nuo 5 padėties ir stulpeliai nuo 5 padėties.
- iloc [:, 0] - pirmasis stulpelis ir visos stulpelio eilutės.
- iloc [9 ,:] - 10-oji eilutė ir visi tos eilutės stulpeliai.
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']> 6roll_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.