Një hyrje miqësore në analizën e të dhënave në Python

Me kalimin e viteve, përdorimi i pythonit për shkencën e të dhënave është rritur jashtëzakonisht dhe vazhdon të rritet çdo ditë.


Shkenca e të dhënave është një fushë e gjerë studimi me shumë nën-fusha, nga të cilat analiza e të dhënave është paarritshme një nga më të rëndësishmet nga të gjitha këto fusha, dhe pavarësisht nga niveli i aftësive të një personi në shkencën e të dhënave, është bërë gjithnjë e më e rëndësishme të kuptohet ose kanë të paktën një njohuri themelore për të.

Farë është analiza e të dhënave?

Analiza e të dhënave është pastrimi dhe shndërrimi i një sasie të madhe të të dhënave të pa strukturuara ose të paorganizuara, me qëllim të gjenerimit të njohurive dhe informacioneve kryesore për këto të dhëna të cilat mund të ndihmojnë në marrjen e vendimeve të informuara.

Ka mjete të ndryshme të përdorura për analizën e të dhënave, Python, Microsoft Excel, Tableau, SaS, etj, por në këtë artikull, ne do të përqendrohemi në mënyrën se si bëhet analiza e të dhënave në python. Më saktësisht, se si është bërë me një bibliotekë pyjoni të quajtur Pandas.

Farë është Pandas?

Pandas është një bibliotekë Python me burim të hapur që përdoret për manipulimin dhe grindjen e të dhënave. Shtë i shpejtë dhe shumë efikas dhe ka mjete për ngarkimin e disa llojeve të të dhënave në memorje. Mund të përdoret për riformatimin, etiketimin e fetë, indeksin apo edhe grupimin e disa formave të të dhënave.

Strukturat e të dhënave në Pandas

Ka 3 struktura të të dhënave në Pandas, domethënë;

  • seri
  • DataFrame
  • panel

Mënyra më e mirë për të dalluar tre prej tyre është të shikoni njërën si disa rafte të tjetrës. Kështu që një DataFrame është një seri seri dhe një Panel është një pirg i DataFrames.

Një seri është një koleksion njëdimensional

Një pirg i disa serive bën një DataFrame 2-dimensionale

Një pirg i disa DataFrames bën një Panel 3-dimensional

Struktura e të dhënave me të cilën do të punonim më së shumti është DataFrame 2-dimensionale e cila mund të jetë gjithashtu mënyra e paraqitjes së paracaktuar për disa grupe të të dhënave që mund të hasim.

Analiza e të dhënave në Pandas

Për këtë artikull, nuk nevojitet instalim. Ne do të përdorim një mjet të quajtur colaboratory krijuar nga Google. Shtë një mjedis pyjoni online për Analizën e të Dhënave, Mësimin e Makinerisë dhe AI. Simplyshtë thjesht një fletore Jupyter me bazë cloud që vjen para-instaluar me pothuajse çdo paketë python që do t’ju duhej si shkencëtar i të dhënave..

Tani, drejtohu tek https://colab.research.google.com/notebooks/intro.ipynb. Ju duhet të shihni më poshtë.

Nga navigacioni i majtë, klikoni në opsionin e skedarit dhe klikoni në opsionin “fletore e re”. Do të shihni një faqe të re fletore Jupyter të ngarkuar në shfletuesin tuaj. Gjëja e parë që duhet të bëjmë është të importojmë pandas në mjedisin tonë të punës. Ne mund ta bëjmë atë duke ekzekutuar kodin e mëposhtëm;

pandat e importit si pd

Për këtë artikull, ne do të përdorim një bazë të dhënash çmimesh për analizën e të dhënave tona. Të dhënat që do të përdorim mund të gjenden këtu. Gjëja e parë që ne do të donim të bënim është të ngarkojmë këtë të dhënë në mjedisin tonë.

Ne mund ta bëjmë atë me kodin e mëposhtëm në një qelizë të re;

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 përdoret kur duam të lexojmë një skedar CSV dhe kemi kaluar një pronë të veçantë për të treguar se skedari CSV është i kufizuar.

Duhet të kemi parasysh gjithashtu se skedari ynë i ngarkuar CSV është i ruajtur në një df të ndryshueshme .

Nuk kemi nevojë të përdorim funksionin e printimit () në Fletoren Jupyter. Ne thjesht mund të shtypni thjesht një emër të ndryshueshëm në qelizën tonë dhe Jupyter Notebook do ta shtypë atë për ne.

Ne mund të provojmë që duke shtypur df në një qelizë të re dhe duke i ekzekutuar, do të shtypë të gjitha të dhënat në databazën tonë si një DataFrame për ne.

Por ne jo gjithmonë duam t’i shohim të gjitha të dhënat, nganjëherë thjesht duam të shohim të dhënat e para dhe emrat e kolonave të tyre. Ne mund të përdorim funksionin df.head () për të shtypur pesë kolonat e para dhe df.tail () për të shtypur pesë të fundit. Prodhimi i njërës prej të dyve do të dukej si i tillë;

Do të donim të kontrollonim marrëdhëniet midis këtyre disa rreshtave dhe kolonave të të dhënave. Funksioni. Përshkruaj () e bën pikërisht këtë për ne.

 Drejtimi df.describe () jep rezultatin e mëposhtëm;

Mund të shohim menjëherë që. Përshkruaj () jep mesataren, devijimin standard, vlerat minimale dhe maksimale dhe përqindjet e secilës kolonë në DataFrame. Kjo është shumë e dobishme veçanërisht.

Ne gjithashtu mund të kontrollojmë formën e DataFrame tonë 2D për të zbuluar se sa rreshta dhe kolona ka. Ne mund ta bëjmë atë duke përdorur df.shape e cila kthen një tufë në format (rreshta, kolona).

Ne gjithashtu mund të kontrollojmë emrat e të gjitha kolonave në DataFrame tonë duke përdorur df.columns.

Po sikur të duam të zgjedhim vetëm një kolonë dhe t’i kthejmë të gjitha të dhënat në të? Kjo është bërë është një mënyrë e ngjashme me prerjet përmes një fjalori. Shtypni kodin e mëposhtëm në një qelizë të re dhe ekzekutoni atë

df [‘çmimi’]

Kodi i mësipërm kthen kolonën e çmimeve, ne mund të shkojmë më tej duke e ruajtur atë në një ndryshore të re si të tillë

çmimi = df [‘çmimi’]

Tani ne mund të kryejmë çdo veprim tjetër që mund të kryhet në një DataFrame në variablin tonë të çmimeve pasi është vetëm një nënbërje e një DataFrame aktuale. Ne mund të bëjmë gjëra si df.head (), df.shape etj..

Ne gjithashtu mund të zgjidhnim kolona të shumta duke kaluar një listë të emrave të kolonave në df si të tillë

të dhëna = df [[‘çmimi’, ‘dhomat e gjumit’]]

Më sipër përzgjedh kolonat me emrat “çmim” dhe “dhoma gjumi”, nëse shkruajmë të dhëna.head () në një qelizë të re, do të kishim si më poshtë.

Mënyra e mësipërme e kolonave të prerjes i kthen të gjithë elementët e rreshtit në atë kolonë, çfarë nëse duam të kthehemi një nënbashkësi të rreshtave dhe një nëndegë të kolonave nga seti i të dhënave tona? Kjo mund të bëhet duke përdorur .iloc dhe indeksohet në një mënyrë të ngjashme me listat e python. Kështu që ne mund të bëjmë diçka të tillë

df.iloc [50:, 3]

E cila kthen kolonën e 3-të nga rreshti i 50-të deri në fund. Shtë goxha e këndshme dhe njëlloj si listat e prerjeve në python.

Tani le të bëjmë disa gjëra me të vërtetë interesante, të dhënat e çmimeve të shtëpive tona kanë një kolonë që na tregon çmimin e një shtëpie dhe një kolonë tjetër na tregon numrin e dhomave të gjumit që ka një shtëpi të veçantë. Mimi i banesave është një vlerë e vazhdueshme, kështu që është e mundur që ne nuk kemi dy shtëpi që kanë të njëjtin çmim. Por numri i dhomave të gjumit është disi diskrete, kështu që mund të kemi disa shtëpi me dy, tre, katër dhoma gjumi, etj.

Po sikur të duam të marrim të gjitha shtëpitë me të njëjtin numër dhoma gjumi dhe të gjejmë çmimin mesatar të çdo dhoma gjumi diskrete? Relativelyshtë relativisht e thjeshtë ta bësh atë në pandas, mund të bëhet si i tillë;

df.groupby (‘dhomat e gjumit’) [‘cmimi’] .men ()

Grupet e para të mësipërme DataFrame nga grupet e të dhënave me numër identik të dhomës së gjumit duke përdorur funksionin df.groupby (), atëherë ne i themi që të na japë vetëm kolonën e dhomës së gjumit dhe të përdorim funksionin .mean () për të gjetur mesataren e secilës shtëpi në bazën e të dhënave.

Po sikur të duam të vizualizojmë sa më sipër? Ne do të dëshironim të mund të kontrollonim se si ndryshon çmimi mesatar i çdo numri të veçantë të dhomës së gjumit? Thjesht duhet të zinxhirojmë kodin e mëparshëm në një funksion .plot () si i tillë;

df.groupby (‘dhomat e gjumit’) [‘cmimi’] .men (). komplot ()

Ne do të kemi një prodhim që duket si i tillë;

E mësipërm na tregon disa tendenca në të dhëna. Në boshtin horizontal, kemi një numër të veçantë të dhomave të gjumit (Vini re, që më shumë se një shtëpi mund të ketë X numrin e dhomave të gjumit), Në ​​boshtin vertikal, ne kemi mesataren e çmimeve sa i përket numrit përkatës të dhomave të gjumit në horizontale aks. Tani mund të vërejmë menjëherë që shtëpitë që kanë nga 5 deri në 10 dhoma gjumi kushtojnë shumë më tepër sesa shtëpitë me 3 dhoma gjumi. Do të bëhet gjithashtu e qartë se shtëpitë që kanë rreth 7 ose 8 dhoma gjumi kushtojnë shumë më tepër sesa ato me 15, 20 apo edhe 30 dhoma.

Informacioni si më sipër, është arsyeja pse analiza e të dhënave është shumë e rëndësishme, ne jemi në gjendje të nxjerrim një pasqyrë të dobishme nga të dhënat që nuk janë menjëherë ose krejt të pamundura për tu vërejtur pa analiza.

Të dhënat që mungojnë

Le të supozojmë se po bëj një studim i cili përbëhet nga një seri pyetjesh. Unë ndaj një lidhje me sondazhin me mijëra njerëz në mënyrë që ata të japin përgjigjet e tyre. Qëllimi im përfundimtar është të drejtoj analizën e të dhënave në këto të dhëna, në mënyrë që të mund të marr disa njohuri kryesore nga të dhënat.

Tani shumë mund të shkojnë keq, disa anketues mund të ndjehen të pakëndshëm duke u përgjigjur disa pyetjeve të mia dhe e lënë atë bosh. Shumë njerëz mund të bëjnë të njëjtën gjë për disa pjesë të pyetjeve të mia për sondazhin. Ky mund të mos konsiderohet problem, por imagjinoni nëse do të mbledhja të dhëna numerike në anketën time dhe një pjesë e analizës më kërkonte që të merrja ose shumën, mesataren ose ndonjë operacion tjetër aritmetik. Disa vlera të humbura do të çonin në shumë pasaktësi në analizën time, unë duhet të kuptoj një mënyrë për të gjetur dhe zëvendësuar këto vlera të humbura me disa vlera që mund të jenë një zëvendësim i ngushtë i tyre.

Pandas na japin një funksion për të gjetur vlerat që mungojnë në një DataFrame të quajtur isnull ().

Funksioni isnull () mund të përdoret si i tillë;

df.isnull ()

Kjo kthen një DataFrame of booleans që na tregon nëse të dhënat fillimisht ishin të pranishme nëse mungonin vërtet ose mungonin Falsisht. Prodhimi do të dukej si i tillë;


Ne kemi nevojë për një mënyrë që të jemi në gjendje të zëvendësojmë të gjitha këto vlera që mungojnë, më shpesh zgjedhja e vlerave që mungojnë mund të merret si zero. Ndonjëherë mund të merret si mesatarja e të gjitha të dhënave të tjera ose mbase mesatarja e të dhënave rreth tij, në varësi të shkencëtarit të të dhënave dhe rastit të përdorimit të të dhënave që analizohen.

Për të mbushur të gjitha vlerat që mungojnë në një DataFrame, ne përdorim funksionin .fillna () të përdorur si i tillë;

df.fillna (0)

Në sa më sipër, ne po mbushim të gjitha të dhënat boshe me vlerën zero. Mund të jetë edhe çdo numër tjetër që e specifikojmë se do të jetë.

Rëndësia e të dhënave nuk mund të theksohet, kjo na ndihmon të marrim përgjigje drejt nga vetë të dhënat tona !. Analiza e të dhënave ata thonë se është Vaji i ri për Ekonomitë Dixhitale.

Të gjitha shembujt në këtë artikull mund të gjenden këtu.

Për të mësuar më shumë në thellësi, shikoni Analiza e të dhënave me kursin në internet Python dhe Pandas.

TAGS:

  • piton

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