Draugiškas įvadas į duomenų analizę Python’e

Metams bėgant, pitono naudojimas duomenų mokslui išaugo nepaprastai ir nuolat auga.


Duomenų mokslas yra plati studijų sritis, turinti daugybę poskirsnių, iš kurių duomenų analizė neabejotinai yra viena iš svarbiausių iš visų šių sričių, ir, nepaisant asmens duomenų įgūdžių lygio, tampa vis svarbiau suprasti ar turėti bent pagrindines žinias apie tai.

Kas yra duomenų analizė?

Duomenų analizė yra didelio kiekio nestruktūruotų ar neorganizuotų duomenų išvalymas ir transformavimas, siekiant sukaupti pagrindines įžvalgas ir informaciją apie šiuos duomenis, kurie padėtų priimti pagrįstus sprendimus..

Duomenų analizei yra naudojami įvairūs įrankiai, „Python“, „Microsoft Excel“, „Tableau“, SaS ir kt., Tačiau šiame straipsnyje mes sutelksime dėmesį į tai, kaip atliekama duomenų analizė python’e. Tiksliau, kaip tai daroma su python biblioteka, vadinama Pandos.

Kas yra Panda?

„Pandas“ yra atvirojo kodo „Python“ biblioteka, naudojama manipuliuoti duomenimis ir keistis duomenimis. Tai greitas ir labai efektyvus, jame yra įrankių, skirtų kelių rūšių duomenims įkelti į atmintį. Jis gali būti naudojamas pertvarkyti, pažymėti segmentus, indeksuoti ar net sugrupuoti kelias duomenų formas.

Duomenų struktūros pandose

„Pandoje“ yra 3 duomenų struktūros, būtent;

  • Serija
  • „DataFrame“
  • Skydas

Geriausias būdas atskirti tris iš jų yra matyti, kad vienas turi keletą kitų krūvų. Taigi „DataFrame“ yra krūva serijų, o skydas – „DataFrames“ krūva.

Serija yra vienmatis masyvas

Kelių serijų krūva sudaro 2 matmenų „DataFrame“

Kelių „DataFrames“ krūva sudaro 3 matmenų skydą

Duomenų struktūra, su kuria daugiausia dirbtume, yra 2 dimensijų „DataFrame“, kuri taip pat gali būti numatytoji kai kurių duomenų rinkinių, su kuriais galime susidurti, vaizdavimo priemonė..

Duomenų analizė pandose

Šiam straipsniui nereikia diegti. Mes naudosime įrankį, vadinamą bendradarbiavimas sukūrė „Google“. Tai internetinė duomenų analizės, mašininio mokymosi ir PG aplinka. Tai tiesiog „debesų“ pagrindu sukurtas „Jupyter“ nešiojamasis kompiuteris, iš anksto įdiegtas į beveik kiekvieną python paketą, kurio jums prireiks kaip duomenų mokslininko..

Dabar eik į https://colab.research.google.com/notebooks/intro.ipynb. Turėtumėte pamatyti žemiau.

Viršutiniame kairiajame kampe spustelėkite failo parinktį ir spustelėkite parinktį „naujas nešiojamasis kompiuteris“. Jūs pamatysite naują naršyklės „Jupyter“ nešiojamojo kompiuterio puslapį. Pirmas dalykas, kurį turime padaryti, yra importuoti pandos į savo darbo aplinką. Tai galime padaryti paleidę šį kodą;

importuoti pandas kaip pd

Šiame straipsnyje duomenų analizei naudosime būsto kainos duomenų rinkinį. Duomenų rinkinį, kurį naudosime, galima rasti čia. Pirmas dalykas, kurį norėtume padaryti, yra įkelti šį duomenų rinkinį į mūsų aplinką.

Mes galime tai padaryti naudodami šį kodą naujoje ląstelėje;

df = pd.read_csv (‘https://firebasestorage.googleapis.com/v0/b/ai6-portfolio-abeokuta.appspot.com/o/kc_house_data.csv?alt=media &token = 6a5ab32c-3cac-42b3-b534-4dbd0e4bdbc0 ‘, sep =’, ‘)

.Read_csv naudojamas, kai norime perskaityti CSV failą, ir mes perdavėme ypatybę, parodančią, kad CSV failas yra atskirtas kableliais..

Taip pat turėtume atkreipti dėmesį, kad mūsų įkeltas CSV failas saugomas kintamajame df .

Mums nereikia naudoti „Jupyter Notebook“ spausdinimo () funkcijos. Mes galime tiesiog įvesti kintamojo pavadinimą į savo langelį, o „Jupyter Notebook“ jį atsispausdins.

Galime tai išbandyti įvedę df naujame langelyje ir paleisdami jį, jis išspausdins visus mūsų duomenų rinkinyje esančius duomenis kaip „DataFrame“ mums.

Bet mes ne visada norime matyti visus duomenis, kartais norime pamatyti tik keletą pirmųjų duomenų ir jų stulpelių pavadinimus. Mes galime naudoti funkciją df.head (), norėdami atspausdinti pirmuosius penkis stulpelius, o df.tail () – paskutinius penkis. Bet kurio iš šių dviejų išvestis atrodytų tokia;

Norėtume patikrinti, ar nėra ryšių tarp šių kelių duomenų eilučių ir stulpelių. Funkcija .describe () daro tai tiksliai už mus.

 Paleidus df.describe (), gaunama ši išvestis;

Iš karto galime pastebėti, kad .describe () nurodo kiekvieno „DataFrame“ stulpelio vidurkį, standartinį nuokrypį, mažiausią ir maksimalią reikšmes bei procentilius. Tai ypač naudinga.

Taip pat galime patikrinti savo 2D „DataFrame“ formą ir sužinoti, kiek eilučių ir stulpelių ji turi. Tai galime padaryti naudodami df.shape, kuris grąžina formato eilutes (eilutes, stulpelius).

Taip pat galime patikrinti visų „DataFrame“ stulpelių pavadinimus naudodami df.columns.

Ką daryti, jei norime pasirinkti tik vieną stulpelį ir grąžinti visus jame esančius duomenis? Tai daroma, panašiai kaip pjaustant žodyną. Įveskite šį kodą į naują langelį ir paleiskite jį

df [‘kaina’]

Aukščiau pateiktas kodas grąžina kainos stulpelį, mes galime žengti toliau, išsaugodami jį kaip naują kintamąjį

kaina = df [‘kaina’]

Dabar mes galime atlikti visus kitus veiksmus, kuriuos galime atlikti su „DataFrame“ su mūsų kainų kintamuoju, nes jis yra tik tikrojo „DataFrame“ poaibis. Mes galime daryti tokius dalykus kaip df.head (), df.shape ir kt..

Taip pat galėjome pasirinkti kelis stulpelius, stulpelių pavadinimų sąrašą pateikdami df

data = df [[‘kaina’, ‘miegamieji’]]

Aukščiau pateikiami stulpeliai pavadinimais „kaina“ ir „miegamieji“. Jei įvesime „data.head ()“ į naują langelį, turėtume šiuos stulpelius:

Aukščiau pateiktas stulpelių pjaustymo būdas grąžina visus to stulpelio eilutės elementus, o kas, jei norime iš duomenų rinkinio grąžinti eilučių ir stulpelių pogrupį? Tai galima padaryti naudojant .iloc ir indeksuojama panašiai kaip python Lists. Taigi mes galime padaryti kažką panašaus

df.iloc [50:, 3]

Kuris grąžina trečiąjį stulpelį nuo 50-osios eilutės iki pabaigos. Tai gana tvarkinga ir lygiai taip pat, kaip pjaustyti sąrašus python’e.

Dabar padarykime tikrai įdomių dalykų, mūsų būsto kainų duomenų rinkinyje yra stulpelis, kuriame nurodoma namo kaina, o kitame stulpelyje nurodoma, kiek miegamajame yra tas namas. Būsto kaina yra išliekamoji vertė, todėl įmanoma, kad neturime dviejų namų, kurių kaina būtų vienoda. Tačiau miegamųjų skaičius yra šiek tiek atskiras, todėl galime turėti keletą namų su dviem, trim, keturiais miegamaisiais ir tt.

O kas, jei norime, kad visi namai būtų vienodi miegamieji ir rastume vidutinę kiekvieno atskiro miegamojo kainą? Tai gana lengva padaryti pandose, tai galima padaryti ir tokiu;

df.grupupby (‘miegamieji’) [‘kaina’] .mean ()

Pirmiau grupės „DataFrame“ suskirstomos pagal duomenų rinkinius su identiškais miegamojo numeriais, naudojant funkciją df.groupby (), tada mes nurodome, kad duotų mums tik miegamojo stulpelį ir, naudodamiesi funkcija .mean (), rastų kiekvieno namo vidurkį duomenų rinkinyje..

Ką daryti, jei norime vizualizuoti tai, kas išdėstyta aukščiau? Norėtume patikrinti, kaip skiriasi kiekvieno atskiro miegamojo numerio vidutinė kaina? Mes tiesiog turime grandinę ankstesnį kodą į .plot () funkciją;

df.grupupby (‘miegamieji’) [‘kaina’] .mean (). plot ()

Turėsime išvestį, kuri atrodo tokia;

Pirmiau parodyta tam tikra duomenų tendencija. Ant horizontalios ašies turime aiškų miegamųjų skaičių (atkreipkite dėmesį, kad daugiau nei viename name gali būti X miegamųjų skaičius). Ant vertikalios ašies turime kainų vidurkį, atsižvelgiant į atitinkamą miegamųjų skaičių horizontalioje padėtyje. ašis. Dabar galime iš karto pastebėti, kad namai, kuriuose yra nuo 5 iki 10 miegamųjų, kainuoja daug daugiau nei namai su 3 miegamaisiais. Taip pat taps akivaizdu, kad namai, kuriuose yra apie 7 ar 8 miegamieji, kainuoja daug daugiau nei namai, kuriuose yra 15, 20 ar net 30 kambarių.

Dėl tokios informacijos, kaip aukščiau, kodėl duomenų analizė yra labai svarbi, mes galime gauti naudingos informacijos apie duomenis, kurių be analizės nėra iš karto arba neįmanoma pastebėti be analizės..

Trūkstami duomenys

Tarkime, aš dalyvauju apklausoje, kurią sudaro daugybė klausimų. Aš pasidalinu nuoroda į apklausą su tūkstančiais žmonių, kad jie galėtų pateikti savo atsiliepimus. Mano pagrindinis tikslas yra atlikti šių duomenų analizę, kad galėčiau gauti svarbiausių įžvalgų iš šių duomenų.

Dabar daug kas gali suklysti, kai kurie matininkai gali jaustis nepatogiai atsakydami į kai kuriuos mano klausimus ir palikti tai tuščią. Daugelis žmonių tą patį galėtų padaryti keliose mano apklausos dalyse. Tai gali būti nelaikoma problema, tačiau įsivaizduokite, jei apklausoje rinkčiau skaitinius duomenis, o atliekant dalį analizės reikėjo gauti sumą, vidurkį ar kokią kitą aritmetinę operaciją. Kelios trūkstamos vertės lemtų daugybę netikslumų mano analizėje. Turiu surasti būdą, kaip surasti ir pakeisti šias trūkstamas reikšmes kai kuriomis vertėmis, kurios galėtų būti artimas jų pakaitalas..

„Pandos“ suteikia mums funkciją, leidžiančią trūkti reikšmių „DataFrame“, vadinamoje isnull ()..

Funkcija „isnull“ () gali būti naudojama kaip tokia;

df.isnull ()

Gaunamas loginių duomenų rinkinys „DataFrame“, kuris mums nurodo, ar iš pradžių ten esančių duomenų trūko, ar klaidingai trūko. Išvada atrodytų tokia;


Mums reikia būdo, kaip pakeisti visas šias trūkstamas vertes, dažniausiai trūkstamų verčių pasirinkimas gali būti nulis. Kartais tai gali būti laikoma visų kitų duomenų vidurkiu, o gal ir aplinkinių duomenų vidurkiu, atsižvelgiant į duomenų žinovą ir analizuojamų duomenų naudojimo atvejį..

Norėdami užpildyti visas trūkstamas „DataFrame“ reikšmes, mes naudojame .fillna () funkciją, naudojamą kaip tokią;

df.fillna (0)

Aukščiau pateikiame visus tuščius duomenis, kurių vertė lygi nuliui. Tai taip pat gali būti bet kuris kitas skaičius, kurį mes nurodome kaip tai.

Negalime per daug pabrėžti duomenų svarbos, tai padeda mums gauti atsakymus tiesiai iš pačių duomenų !. Jų teigimu, duomenų analizė yra naujoji alyva skaitmeninei ekonomikai.

Visus šio straipsnio pavyzdžius galite rasti čia.

Norėdami sužinoti daugiau nuodugniai, patikrinkite Duomenų analizė naudojant Python ir Pandas internetinius kursus.

ŽENKLAI:

  • Python

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map