pandor

Pandas handledning i Python

Pandas handledning i Python
I den här lektionen om Python Pandas-biblioteket kommer vi att titta på olika datastrukturer som detta Python-paket ger snabb databehandlingsfunktioner som är effektiva för dynamisk data och hanterar komplexa operationer över flerdimensionell data. I den här lektionen kommer vi huvudsakligen att täcka:

Det här ser ut som mycket att täcka. Låt oss komma igång nu.

Vad är Python Pandas-paketet?

Enligt Pandas hemsida: pandas är ett öppen källkod, BSD-licensierat bibliotek som erbjuder högpresterande, lättanvända datastrukturer och dataanalysverktyg för Python-programmeringsspråket.

En av de coolaste sakerna med Pandas är att det gör att man läser data från vanliga dataformat som CSV, SQL etc. väldigt enkelt vilket gör det lika användbart i applikationer med produktionskvalitet eller bara i vissa demoapplikationer.

Installera Python Pandas

Bara en anteckning innan vi startar installationsprocessen använder vi en virtuell miljö för den här lektionen som vi gjorde med följande kommando:

python -m virtualenv-pandor
källpandor / bin / aktivera

När den virtuella miljön är aktiv kan vi installera pandabiblioteket i det virtuella env så att exempel vi skapar nästa kan köras:

pip installera pandor

Eller så kan vi använda Conda för att installera detta paket med följande kommando:

conda installera pandor

Vi ser något liknande när vi utför ovanstående kommando:

När installationen har slutförts med Conda kommer vi att kunna använda paketet i våra Python-skript som:

importera pandor som pd

Låt oss börja använda Panda i våra skript nu.

Läser CSV-fil med Pandas DataFrames

Att läsa en CSV-fil är enkelt med Pandas. För demonstration har vi konstruerat en liten CSV-fil med följande innehåll:

Namn, RollNo, datum för antagning, nödkontakt
Shubham, 1,20-05-2012,9988776655
Gagan, 2,20-05-2009, 8364517829
Oshima, 3,20-05-2003,5454223344
Vyom, 4,20-05-2009,1223344556
Ankur, 5,20-05-1999,9988776655
Vinod, 6,20-05-1999,9988776655
Vipin, 7,20-05-2002,9988776655
Ronak, 8,20-05-2007,1223344556
DJ, 9,20-05-2014,9988776655
VJ, 10,20-05-2015,9988776655

Spara den här filen i samma katalog som i Python-skriptet. När filen är närvarande lägger du till följande kodavsnitt i en Python-fil:

importera pandor som pd
studenter = pd.read_csv ("studenter.csv ")
studenter.huvud()

När vi har kört kodavsnittet ovan ser vi följande utdata:

Head () -funktionen i Pandas kan användas för att visa ett urval av data som finns i DataFrame. Vänta, DataFrame? Vi kommer att studera mycket mer om DataFrame i nästa avsnitt men förstår bara att en DataFrame är en n-dimensionell datastruktur som kan användas för att hålla och analysera eller komplexa operationer över en uppsättning data.

Vi kan också se hur många rader och kolumner som aktuella data har:

studenter.form

När vi har kört kodavsnittet ovan ser vi följande utdata:

Observera att Pandas också räknar antalet rader från 0.

Det är möjligt att bara få en kolumn i en lista med Pandas. Detta kan göras med hjälp av indexering i Pandas. Låt oss titta på ett kort kodavsnitt för samma:

student_names = studenter ['Namn']
studentnamn

När vi har kört kodavsnittet ovan ser vi följande utdata:

Men det ser inte ut som en lista, eller hur? Vi måste uttryckligen anropa en funktion för att konvertera det här objektet till en lista:

studentnamn = studentnamn.att lista()
studentnamn

När vi har kört kodavsnittet ovan ser vi följande utdata:

Bara för extra information kan vi se till att varje element i listan är unikt och vi väljer bara icke-tomma element genom att lägga till några enkla kontroller som:

student_names = studenter ['Namn'].dropna ().unik().att lista()

I vårt fall ändras inte produktionen eftersom listan inte innehåller några felaktiga värden.

Vi kan också skapa en DataFrame med rådata och skicka kolumnnamnen tillsammans med den, som visas i följande kodavsnitt:

min_data = pd.DataFrame (
[
[1, "Chan"],
[2, "Smith"],
[3, "Winslet"]
],
kolumner = ["Rank", "Efternamn"]
)
min data

När vi har kört kodavsnittet ovan ser vi följande utdata:

Skivning av DataFrames

Att bryta ner DataFrames för att endast extrahera de valda raderna och kolumnerna är en viktig funktion för att hålla uppmärksamhet mot nödvändiga delar av data som vi behöver använda. För detta tillåter Pandas oss att skära DataFrame efter behov med uttalanden som:

I föregående avsnitt har vi redan sett indexering och skärning med kolumnnamn istället för index. Det är också möjligt att blanda skivning med indexnummer och kolumnnamn. Låt oss titta på ett enkelt kodavsnitt:

studenter.loc [: 5, 'Namn']

När vi har kört kodavsnittet ovan ser vi följande utdata:

Det är möjligt att ange mer än en kolumn:

studenter.loc [: 5, ['Name', 'Emergency Contact']]

När vi har kört kodavsnittet ovan ser vi följande utdata:

Seriens datastruktur i pandor

Precis som Pandas (som är en multidimensionell datastruktur), är en serie en endimensionell datastruktur i Pandas. När vi hämtar en enda kolumn från en DataFrame arbetar vi faktiskt med en serie:

typ (studenter ["Namn"])

När vi har kört kodavsnittet ovan ser vi följande utdata:

Vi kan också konstruera vår egen serie, här är ett kodavsnitt för samma:

serie = pd.Serie (['Shubham', 3.7])
serier

När vi har kört kodavsnittet ovan ser vi följande utdata:

Som framgår av exemplet ovan kan en serie också innehålla flera datatyper för samma kolumn.

Booleska filter i Pandas DataFrame

En av de bra sakerna i Pandas är hur det är att extrahera data från en DataFrame baserat på ett tillstånd. Som att extrahera elever endast när antalet nummer är större än 6:

roll_filter = studenter ['RollNo']> 6
rullfilter

När vi har kört kodavsnittet ovan ser vi följande utdata:

Det var inte vad vi förväntade oss. Även om produktionen är ganska tydlig om vilka rader som uppfyllde filtret vi tillhandahöll, men vi har fortfarande inte exakta rader som uppfyller det filtret. Visar sig det vi kan använda filter som DataFrame-index också:

studenter [roll_filter]

När vi har kört kodavsnittet ovan ser vi följande utdata:

Det är möjligt att använda flera villkor i ett filter så att data kan filtreras på ett kortfattat filter, som:

nästa_filter = (studenter ['RollNo']> 6) & (studenter ['Namn']> 'S')
studenter [nästa_filter]

När vi har kört kodavsnittet ovan ser vi följande utdata:

Beräkning av median

I en DataFrame kan vi också beräkna många matematiska funktioner. Vi kommer att ge ett bra exempel på beräkning av median. Medianen beräknas för ett datum, inte bara för siffror. Låt oss titta på ett kort kodavsnitt för samma:

dates = students ['Datum för antagning'].astype ('datetime64 [ns]').kvantil (.5)
datum

När vi har kört kodavsnittet ovan ser vi följande utdata:

Vi uppnådde detta genom att först indexera den datumkolumn som vi har och sedan tillhandahålla en datatyp till kolumnen så att Pandas kan sluta sig korrekt när kvantilfunktionen används för att beräkna mediandatum.

Slutsats

I den här lektionen tittade vi på olika aspekter av Pandas-behandlingsbibliotek som vi kan använda med Python för att samla in data från olika källor till en DataFrame-datastruktur som gör det möjligt för oss att sofistikerat använda en dataset. Det gör det också möjligt för oss att få delmängder av data vi vill arbeta med tillfälligt och ger många matematiska operationer.

Dela din feedback om lektionen på Twitter med @sbmaggarwal och @LinuxHint.

Hur man installerar och spelar Doom på Linux
Introduktion till Doom Doom-serien har sitt ursprung på 90-talet efter att den ursprungliga Doom släpptes. Det blev en omedelbar hit och från den tide...
Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...
OpenTTD vs Simutrans
Att skapa din egen transportsimulering kan vara rolig, avkopplande och extremt lockande. Det är därför du måste se till att du testar så många spel so...