Kuinka innovaatioteknologia lisää sovellusten kehittämissektoria? 1

Pandas -tietokehyksen kysely

Lähdesolmu: 1017694

Pandas -tietokehyksen kysely

Data Scientistin näkökulma SQL:n kaltaisiin Python-toimintoihin.


By Matthew Przybyla, Senior Data Scientist, Favor Delivery



Kuva Bruce Hong on Unsplash [1].

Sisällysluettelo

 
 

  1. esittely
  2. Useita ehtoja
  3. Yhdistäminen useisiin erityisiin sarakkeisiin
  4. Yhteenveto
  5. Viitteet

esittely

 
 
Oletpa siirtymässä tietosuunnittelijasta/tietoanalyytikosta tai haluatko tulla tehokkaammaksi datatieteilijäksi, tietokehyksen kysely voi osoittautua varsin hyödylliseksi menetelmäksi palauttaa haluamasi rivit. On tärkeää huomata, että pandoille on olemassa erityinen kyselytoiminto, joka on asianmukaisesti nimetty, query. Keskustelen kuitenkin muista tavoista, joilla voit jäljitellä tietojen kyselyä, suodatusta ja yhdistämistä. Esittelemme yleisiä skenaarioita tai kysymyksiä, joita kysyt tiedoillesi, ja SQL:n sijaan teemme sen Pythonilla. Alla olevissa kappaleissa hahmotan muutamia yksinkertaisia ​​tapoja kysyä rivejä pandastietokehyksellesi Python-ohjelmointikielellä.

Useita ehtoja

 
 



Esimerkkitiedot. Kuvakaappaus tekijältä [2].

 

Datatieteilijöinä tai data-analyytikoina haluamme palauttaa tietyt datarivit. Yksi näistä skenaarioista on se, että haluat käyttää useita ehtoja, kaikki samalla koodirivillä. Esimerkin näyttämiseksi olen luonut vääriä näytetietoja etu- ja sukunimestä sekä niiden sukupuolesta ja syntymäajasta. Nämä tiedot näkyvät yllä kuvakaappauksessa.

Esimerkki useat ehdot vastaavat olennaisesti tiettyyn kysymykseen, aivan kuten käytettäessä SQL:ää. Kysymys kuuluu, kuinka monta prosenttia tiedoistamme on miesten sukupuolta OR henkilö, joka on syntynyt vuosina 2010-2021.

Tässä on koodi, joka ratkaisee tämän kysymyksen (tähän kysymykseen voi vastata muutamalla tavalla, mutta tässä on oma tapani tehdä se):

print(“Percent of data who are Males OR were born between 2010 and 2021:”, 100*round(df[(df[‘Gender’] == ‘M’) | (df[‘Birthdate’] >= ‘2010–01–01’) & (df[‘Birthdate’] <= ‘2021–01–01’)][‘Gender’].count()/df.shape [0],4), “%”)

Tämän koodin visualisoimiseksi paremmin olen lisännyt myös tämän kuvakaappauksen samasta koodista ylhäältä tulosteen/tuloksen kanssa. Voit myös soveltaa näitä ehtoja palauttaaksesi todelliset rivit sen sijaan, että saisit rivien murto-osan tai prosenttiosuuden rivien kokonaismäärästä.



Ehtojen koodi. Kuvakaappaus tekijältä [3].

 

Tässä on suorittamiemme komentojen järjestys:

  • Palauta rivit Malella Gender
  • Sisällytä OR toiminto |
  • Palauta rivit Birthdate > 2010 ja 2021
  • Yhdistä nämä kaikki ja jaa sitten rivien kokonaismäärällä

Kuten näet, tämä koodi on samanlainen kuin jotain, jonka näet SQL:ssä. Itse olen sitä mieltä, että se on helpompaa pandoissa, koska se voi olla vähemmän koodia, mutta samalla voi myös nähdä kaikki koodit visuaalisesti yhdestä helposta paikasta ilman, että tarvitsee vierittää ylös ja alas (mutta tämä muoto on vain minun suosikkini).

Yhdistäminen useisiin erityisiin sarakkeisiin

 
 



Yhdistetyn datakehyksen tulos. Kuvakaappaus tekijältä [4].

 

Olemme luultavasti nähneet, kuinka tietokehyksiä yhdistetään muissa opetusohjelmissa, joten halusin lisätä ainutlaatuisen lähestymistavan, jota en ole oikeastaan ​​nähnyt siellä, joka on useiden tiettyjen sarakkeiden yhdistäminen. Tässä skenaariossa haluamme yhdistää kaksi tietokehystä, joissa kaksi kenttää on jaettu niiden välillä. Voit kertoa, että jos sarakkeita on vielä enemmän, tämä menetelmä voisi olla vielä hyödyllisempi.

Meillä on ensimmäinen tietokehys, joka on df, ja sitten yhdistämme sarakkeet toiseen tietokehykseen, df2. Tässä on koodi odottamamme tuloksen saavuttamiseksi:

merged_df = df.merge(df2, how=’inner’, left_on=cols, right_on=cols )

Tämän yhdistämisen ja koodin visualisoimiseksi paremmin olen esittänyt alla olevan kuvakaappauksen. Näet alta, miltä toinen datakehys näyttää, First ja Last nimet, aivan kuten ne ovat ensimmäisessä tietokehyksessä, mutta uudella sarakkeella, Numeric. Sitten meillä on tietyt sarakkeet, jotka halusimme yhdistää ja palauttaa sarakkeita GenderBirthdate, ja uusi Numeric myös sarakkeessa. Sarakkeet ovat sarakkeiden luettelo, joka on nimetty cols.



Yhdistetään tietokehystä. Kuvakaappaus tekijältä [5].

 

Kuten näet, tämä tapa yhdistää datakehykset on yksinkertainen tapa saavuttaa samat tulokset kuin SQL-kyselyllä.

Yhteenveto

 
 
Tässä opetusohjelmassa näimme kaksi yleistä kysymystä tai kyselyä, jotka suoritat SQL:ssä, mutta olet sen sijaan suorittanut ne Pandas-tietokehysten kanssa Pythonissa.

Yhteenvetona voidaan todeta, että tässä on kaksi skenaariota, joiden kanssa työskentelimme:

  1. Palauttaa rivien prosenttiosuuden kokonaistietojoukosta useista ehdoista
  2. Yhdistäminen useisiin tiettyihin sarakkeisiin palauttaaksesi lopullisen datakehyksen uudella sarakkeella

Toivon, että artikkelini oli kiinnostava ja hyödyllinen. Kommentoi alla, jos olet samaa tai eri mieltä näistä menetelmistä. Miksi tai miksi ei? Näitä voidaan varmasti selventää entisestään, mutta toivon, että pystyin valaisemaan joitakin tapoja, joilla voit käyttää pandaa ja Pythonia SQL: n sijaan. Kiitos, että luit!

Ole hyvä ja tutustu profiiliini, Matt Przybyla, ja muita artikkeleita, sekä ota minuun yhteyttä LinkedInissä.

En ole sidoksissa näihin yrityksiin.

 
Viitteet

[1] Kuvaaja Bruce Hong on Unsplash(2018)

[2] M. Przybyla, näytetietojen kuvakaappaus, (2021)

[3] M. Przybyla, ehtokoodin kuvakaappaus, (2021)

[4] M. Przybyla, yhdistetyn datakehyksen tuloksen kuvakaappaus, (2021)

[5] M. Przybyla, yhdistävä datakehys kuvakaappaus, (2021)

 
Bio: Matthew Przybyla on Favor Deliveryn vanhempi tietotutkija ja freelance-tekninen kirjoittaja, erityisesti tietotieteessä.

Alkuperäinen. Postitettu luvalla.

Related:

Lähde: https://www.kdnuggets.com/2021/08/query-pandas-dataframe.html

Aikaleima:

Lisää aiheesta KDnuggets