Pandas endrer kolonnetype

Pandas endrer kolonnetype
I sammenheng med programmering er en kolonne en gruppe dataverdier som er alle av de samme typene og finnes i en tabell, serie, dataaframe osv. når diskutert. Data er ordnet vertikalt i en kolonne fra topp til bunn. Mens du bruker Pandas DataFrame, kan behovet oppstå for å endre datatypen som er spesifikk for alle kolonnene i en allerede opprettet Pandas DataFrame. Hensikten med denne artikkelen er å forklare hvordan datatypen til kolonnen kan endres i Pandas Dataframes. Vi vil bruke de forskjellige funksjonene for å endre datatypen til en eller flere kolonner inne i Pandas DataFrame.

Hvordan endre kolonnens datatype i pandaer

Ulike funksjoner i pandaer kan brukes til å endre datatypen på kolonner i en dataaframe. I de følgende eksemplene vil vi forklare i detalj hvordan du kan endre datatypene til kolonner i DataFrame.

Eksempel 1: Bruke DataFrame.astype () funksjon

For å lage et eksempel på DataFrame, vil vi først importere pandaene som PD for å bruke funksjonalitetene som leveres av IT. For å demonstrere arbeidet med AstType () -funksjonen, oppretter vi en DataFrame med tre kolonner med forskjellige datatyper. Bruke DataFrame.astype () -metode, vi kan konvertere et pandasobjekt til en nødvendig dtype. I tillegg gjør denne metoden brukerne å endre en hvilken som helst kolonne (egnet) av DataFrame til en kategoritype.


Som det kan sees i forrige illustrasjon, opprettet vi tre kolonner: x, y og z. Der X -kolonnen består av int og strengverdier ['2', 4, 6, '8' og 10], har Y -kolonnen bare strengverdier ['P', 'Q', 'R', 'S', 'T'], og Z -kolonnen består av float- og strengverdier. For å se hver kolonnes datatype i DataFrame, brukes DTYPES -attributtet. “Dtypes” -attributtet kan brukes til å bestemme datatypen i en Pandas DataFrame, en serie som omfatter datatypene til hver kolonne som returneres av attributtet.


Som det kan sees i den pevious illustrasjonen, vises datatypen til hver kolonne som "objekt". Som du kanskje legger merke til, er det minst en strengverdi i hver kolonne (x, y og z) i dataaframe. Så dype -attributtet anser hver kolonnes datatype som et "objekt". La oss nå endre datatypen til kolonnen X ved hjelp av AstType () -funksjonen.


Vi tildelte INT -datatypen til kolonne X i vår “DF” DataFrame og tildelte den nye DataFrame til variabelen som heter “DF”. Nå kan vi sjekke ved å bruke DTYPES -attributtet om datatypen til kolonnen X endres eller ikke.


Det kan sees at datatypen til kolonnen X endres fra objekt til “INT32”. Du kan definere en enkelt datatype for hele DataFrame eller separat til hver kolonne DataFrame ved hjelp av en Python -ordbok. La oss spesifisere de forskjellige datatypene til hver kolonne i DataFrame ved hjelp av en ordbok.


I forrige ordbok spesifiserte vi datatypen “Int” til X -kolonnen, datatype “String” til Y -kolonnen, og datatype “Float” til Z -kolonnen i “DF” DataFrame. Ved å bruke DTYPES -attributtet, la oss sjekke de gjeldende datatypene til X-, Y- og Z -kolonnene i DataFrame.


Datatypene til hver kolonne endres vellykket. Vi kan også bruke AstType () -funksjonen for å spesifisere en enkelt datatype til alle kolonner i DataFrame.


Vi brukte AstType () -metoden til vår DataFrame “DF” og passerte “String” -datatypen som et argument for å endre datatypen til hver kolonne til “Objekt”.

Eksempel 2: Bruke TO_Numeric () -funksjonen

Bruk () lar oss konvertere datatypen av spesifikke eller alle kolonner til int/float, dateTime eller Time Delta ved å sende alternativene “Pandas.to_numeric, ”“ Pandas.to_datetime, ”og“ Pandas.to_timedelta ”. Avhengig av verdiene som er til stede i kolonnen, endrer TO_Numeric () -funksjonen datatypen til en DataFrame -kolonne til en int eller flottør. Kolonnens datatype endres til “Int64” hvis den bare inneholder heltallstall. Datatypen til kolonnen konverteres til “Float64” ved å bruke to_numeric () hvis den inneholder verdier med desimalpunkter. For å forklare dette ved hjelp av et eksempel, la oss lage en dataaframe med strengdatatype, men vi bruker heltallverdiene som "strenger".


Vi importerer pandaene og numpy modulene først. Deretter oppretter vi DataFrame ved hjelp av PD.DataFrame () -funksjon. Inne i PD.DataFrame -funksjon, vi passerer de tre listene: ['1', '2', '3'], ['4', '5', '6'], og ['7', '8', '9' ]. Navnene på kolonnene er spesifisert som "x", "y" og "z". Dypesattributtet brukes til å se datatypene til X-, Y- og Z -kolonnene.


Foreløpig er datatypen til hver rad “Objekt”. Vi bruker nå to_numeric () -funksjonen for å endre datatypen.


Som nevnt tidligere, hvis kolonnene inneholder desimaltall, endrer TO_Numeric () -funksjonen automatisk datatypen til “Int64”. La oss sjekke om datatypene er endret eller ikke.


Da vi brukte desimaltallene som "streng" -verdier i "DF" DataFrame, konverterte TO_Numeric () funksjonen dem til "int64". Hva om det er en kolonne med flyteverdier som "streng" inne i "DF" DataFrame? Vil to_numeric () -funksjonen endre sin datatype til “Float64”? For å svare på dette spørsmålet, legger vi til en annen kolonne med flyteverdier som "streng" i den nylig opprettet "DF" DataFrame.


Vi la til en annen kolonne til vår "DF" DataFrame og spesifiserte kolonnenavnene som W, X, Y og Z Z. Den nylig tilsatte Z -kolonnen består av bare desimalpunktverdier som "streng". La oss bruke til_numeric () -funksjonen for å se resultatene.


Datatypen på kolonner som har tall uten desimal, konverteres til “INT64” og desimaltallet til “Float64” ved å bruke TO_Numeric () -funksjonen.

Eksempel 3: Bruke funksjonen Convert_DTypes ()

I de to foregående eksemplene endret vi datatypen til DataFrame -kolonnene ved å bruke AstType () og To_Numeric () -funksjonene. Vi kan også endre datatypen på kolonner i DataFrame ved å bruke Convert_dtypes () -funksjonen. Etter å ha vurdert dataene, returnerer Convert_dTypes () -metoden en ny DataFrame med hver kolonnes datatype konvertert til den best passende (optimaliserte) datatypen. For å forstå Convert_dtypes () -funksjonen, la oss lage en prøve DataFrame først.


Etter å ha importert Pandas -modulen, opprettet vi to lister - “Navn” og “Student”. I "Navn" -listen har vi noen streng- og nullverdier ("Tom", PD.Na, "Max", "Tony"). Mens vi i "Student" -listen har de boolske verdiene med noen nullverdier (sant, PD.Na, falsk, pd.Na). Vi tildelte begge listene til variabelen "Data". PD.DataFrame () -funksjonen brukes til å lage en DataFrame inni som datavariabelen sendes som et argument. Deretter brukte vi DTYPES -attributtet som ga datatypene til alle kolonnene i DataFrame. Som det ble sett i forrige illustrasjon, er datatypen til hver kolonne i DataFrame “Object”. La oss bruke Convert_dtypes () -funksjonen for å endre datatypene til kolonner med passende datatyper.


Som det kan sees, endret Convert_dtypes () -funksjonen datatypene til kolonner med den best egnede (optimaliserte) datatypen. Datatypen til "Navn" -kolonnen blir endret til "String" og datatypen til "Student" -kolonnene blir endret til boolsk.

Konklusjon

I denne opplæringen har vi gått gjennom forskjellige måter å endre datatypen på DataFrame -kolonnen ved å bruke forskjellige funksjoner. Vi prøvde å gjøre deg i stand til å endre datatypen til kolonnen til en dataaframe på egen hånd ved hjelp av AstType (), to_numeric () og convert_dtype () funksjoner. Vi implementerte flere eksempler for å lære deg hvordan du bruker DataFrame.astype () -funksjon, hvordan bruke to_numeric () -funksjonen, og hvordan du bruker Convert_dtypes () -funksjonen for å endre kolonnetypen.