Datavitenskap

Hvordan lage en pivottabell i Pandas Python

Hvordan lage en pivottabell i Pandas Python
I pandas python inneholder pivottabellen summer, tellinger eller aggregeringsfunksjoner avledet fra en datatabell. Aggregeringsfunksjoner kan brukes på forskjellige funksjoner eller verdier. En pivottabell lar oss oppsummere tabelldataene gruppert etter forskjellige verdier, inkludert kolonnekategoriske verdier.

Før du bruker pandas pivottabell, må du sørge for at du forstår dataene og spørsmålene du prøver å løse gjennom pivottabellen. Ved å bruke denne metoden kan du gi kraftige resultater. Vi vil utdype i denne artikkelen hvordan du lager en pivottabell i pandas python.

Les data fra Excel-fil

Vi har lastet ned en Excel-database med salg av mat. Før du starter implementeringen, må du installere noen nødvendige pakker for å lese og skrive Excel-databasefilene. Skriv inn følgende kommando i terminaldelen av pycharm-redigereren:

pip installer xlwt openpyxl xlsxwriter xlrd

Les nå data fra excel-arket. Importer de nødvendige pandabibliotekene og endre banen til databasen din. Ved å kjøre følgende kode, kan data hentes fra filen.

importer pandaer som pd
importer nummen som np
dtfrm = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
skrive ut (dtfrm)

Her blir dataene lest fra excel-databasen over matvarer og overført til dataframe-variabelen.

Lag pivottabell ved hjelp av Pandas Python

Nedenfor har vi laget en enkel pivottabell ved å bruke matsalgsdatabasen. To parametere kreves for å lage en pivottabell. Den første er data som vi har overført til datarammen, og den andre er en indeks.

Pivotdata på en indeks

Indeksen er funksjonen i en pivottabell som lar deg gruppere dataene dine basert på krav. Her har vi tatt 'Produkt' som indeks for å lage en grunnleggende pivottabell.

importer pandaer som pd
importer nummen som np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivottabell (dataramme, indeks = ["Produkt"])
skriv ut (pivot_tble)

Følgende resultat vises etter kjøring av kildekoden ovenfor:

Definere kolonner eksplisitt

For mer analyse av dataene dine, definer du eksplisitt kolonnenavnene med indeksen. For eksempel ønsker vi å vise den eneste UnitPrice for hvert produkt i resultatet. For dette formålet, legg til verdiparameteren i pivottabellen. Følgende kode gir deg det samme resultatet:

importer pandaer som pd
importer nummen som np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivottabell (dataframe, index = 'Product', values ​​= 'UnitPrice')
skriv ut (pivot_tble)

Pivotdata med multiindeks

Data kan grupperes basert på mer enn én funksjon som en indeks. Ved å bruke flerindekstilnærmingen kan du få mer spesifikke resultater for dataanalyse. For eksempel kommer produkter under forskjellige kategorier. Så du kan vise indeksen 'Produkt' og 'Kategori' med tilgjengelig 'Mengde' og 'Enhetspris' for hvert produkt som følger:

importer pandaer som pd
importer nummen som np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivottabell (dataramme, indeks = ["Kategori", "Produkt"], verdier = ["Enhetspris", "Mengde"])
skriv ut (pivot_tble)

Bruke aggregeringsfunksjon i pivottabellen

I en pivottabell kan aggfunc brukes for forskjellige funksjonsverdier. Den resulterende tabellen er en oppsummering av funksjonsdata. Den samlede funksjonen gjelder gruppedataene dine i pivottabell. Som standard er samlet funksjon np.mener(). Men basert på brukerkrav kan forskjellige samlede funksjoner gjelde for forskjellige datafunksjoner.

Eksempel:

Vi har brukt samlede funksjoner i dette eksemplet. Np.sum () -funksjonen brukes til funksjonen 'Mengde' og np.middel () -funksjon for 'UnitPrice' -funksjon.

importer pandaer som pd
importer nummen som np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivottabell (dataramme, indeks = ["Kategori", "Produkt"], aggfunc = 'Mengde': np.sum, 'UnitPrice': np.mener)
skriv ut (pivot_tble)

Etter å ha brukt aggregeringsfunksjonen for forskjellige funksjoner, får du følgende utdata:

Ved hjelp av verdiparameteren kan du også bruke aggregatfunksjon for en bestemt funksjon. Hvis du ikke vil spesifisere funksjonens verdi, samler den databasens numeriske funksjoner. Ved å følge den gitte kildekoden kan du bruke den samlede funksjonen for en bestemt funksjon:

importer pandaer som pd
importer nummen som np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivottabell (dataramme, indeks = ['Produkt'], verdier = ['Enhetspris'], aggfunc = np.mener)
skriv ut (pivot_tble)

Forskjell mellom verdier vs. Kolonner i pivottabellen

Verdiene og kolonnene er det viktigste forvirrende punktet i pivottabellen. Det er viktig å merke seg at kolonner er valgfrie felt, som viser den resulterende tabellens verdier horisontalt på toppen. Aggregeringsfunksjonen aggfunc gjelder verdifeltet du lister opp.

importer pandaer som pd
importer nummen som np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivottabell (dataramme, indeks = ['Kategori', 'Produkt', 'By'], verdier = ['Enhetspris', 'Antall'],
kolonner = ['Region'], aggfunc = [np.sum])
skriv ut (pivot_tble)

Håndtering av manglende data i pivottabellen

Du kan også håndtere de manglende verdiene i pivottabellen ved å bruke 'fill_value' Parameter. Dette lar deg erstatte NaN-verdiene med en ny verdi som du gir for å fylle ut.

For eksempel fjernet vi alle nullverdier fra tabellen ovenfor ved å kjøre følgende kode og erstatter NaN-verdiene med 0 i hele den resulterende tabellen.

importer pandaer som pd
importer nummen som np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivottabell (dataramme, indeks = ['Kategori', 'Produkt', 'By'], verdier = ['Enhetspris', 'Antall'],
kolonner = ['Region'], aggfunc = [np.sum], fill_value = 0)
skriv ut (pivot_tble)

Filtrering i pivottabell

Når resultatet er generert, kan du bruke filteret ved å bruke standard dataframe-funksjonen. La oss ta et eksempel. Filtrer produktene hvis UnitPrice er mindre enn 60. Den viser produktene med en pris på under 60.

importer pandaer som pd
importer nummen som np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.pivottabell (dataframe, index = 'Product', values ​​= 'UnitPrice', aggfunc = 'sum')
low_price = pivot_tble [pivot_tble ['UnitPrice'] < 60]
skriv ut (lav pris)

Ved å bruke en annen spørringsmetode kan du filtrere resultatene. For eksempel har vi for eksempel filtrert informasjonskapselkategorien basert på følgende funksjoner:

importer pandaer som pd
importer nummen som np
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.pivottabell (dataramme, indeks = ["Kategori", "By", "Region"], verdier = ["Enhetspris", "Antall"], aggfunc = np.sum)
pt = pivot_tble.spørring ('Category == ["Cookies"]')
skrive ut (pt)

Produksjon:

Visualiser pivottabelldataene

Følg følgende metode for å visualisere pivottabelldataene:

importer pandaer som pd
importer nummen som np
importer matplotlib.pyplot som plt
dataframe = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.pivottabell (dataramme, indeks = ["Kategori", "Produkt"], verdier = ["Enhetspris"])
pivot_tble.tomt (kind = 'bar');
plt.vise fram()

I visualiseringen ovenfor har vi vist enhetsprisen på de forskjellige produktene sammen med kategorier.

Konklusjon

Vi undersøkte hvordan du kan generere en pivottabell fra datarammen ved hjelp av Pandas python. En pivottabell lar deg generere dyp innsikt i datasettene dine. Vi har sett hvordan vi kan generere en enkel pivottabell ved hjelp av multiindeks og bruke filtrene på pivottabeller. Videre har vi også vist å plotte pivottabeldata og fylle manglende data.

Mus Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Hvis du finner ut at musemarkøren hopper eller beveger seg alene, automatisk, tilfeldig mens du skriver inn Windows-bærbar PC eller datamaskin, kan no...
Mus Hvordan reversere rulle retning for mus og styreplater i Windows 10
Hvordan reversere rulle retning for mus og styreplater i Windows 10
Mus og Pekeplates gjør ikke bare databehandling enkelt, men mer effektivt og mindre tidkrevende. Vi kan ikke forestille oss et liv uten disse enhetene...
Mus Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Musepekeren og markøren i Windows 10 er veldig viktige aspekter ved operativsystemet. Dette kan sies også for andre operativsystemer, så i sannhet er ...