Introduktion till Pandas.Dropna ()

Pythons bibliotek med öppen källkod Pandas är utan tvekan det mest använda biblioteket för datavetenskap och analys. Det är också ett föredraget paket för ad-hoc-datahanteringsoperationer. Krediten går till dess extremt flexibla datarepresentation med hjälp av DataFrames och arsenal av funktioner som exponeras för att manipulera data som finns i dessa dataramar. Eventuella dataproblem i verkligheten kommer att orsaka problem med saknade data och det är absolut nödvändigt att sådana datapunkter tas om hand på rätt sätt. Hantering av saknade data på något lämpligt sätt stöds av denna funktion, Pandas.Dropna () .

Vad är Pandas.Dropna () exakt?

Pydata-sidan kan hänvisas till den officiella funktionsdefinitionen.

Funktionshuvudet som visas är som följer (tillsammans med standardparametervärden):

DataFrame.dropna(self, axis=0, how='any', thresh=None, subset=None, inplace=False)

Parametrarna (exklusive, själv (själva dataramobjektet)) som visas i funktionsdefinitionen är följande:

  • axel: Den hänvisar till orienteringen (rad eller kolumn) i vilken data släpps. Möjliga värden är 0 eller 1 (även 'index' respektive 'kolumner'). 0 / 'index' representerar dropprader och 1 / 'kolumner' representerar droppkolumner.
  • hur: Anger scenariot där kolumnen / raden som innehåller nollvärde måste släppas. Värdena är "valfri" eller "alla". "alla" släpper bara raden / kolumnen om alla värden i raden / kolumnen är noll. 'valfri' tappar raden / kolumnen när minst ett värde i raden / kolumnen är noll.
  • tröskel: Anger minsta antal icke-NA-värden i rad / kolumn för att det ska beaktas i slutresultatet. Varje rad / kolumn med antalet icke-NA-värden <tröskelvärde tas bort oberoende av andra passerade parametrar. När tröska = ingen ignoreras detta filter.
  • delmängd: axel anger om rader / kolumner måste släppas. underuppsättningen tar en lista med kolumner / rader respektive (mittemot axeln) som ska sökas efter null / NA-värden istället för en hel lista med kolumner / rader.
  • i stället: Som en bra praxis ändras inte den ursprungliga DataFrame (eller datarepresentationen), men en separat kopia med ändringarna (dvs. tappade rader / kolumner) returneras. inplace attribut ger dig flexibilitet att ändra själva den ursprungliga datastrukturen.

Nu när vi har en allmän uppfattning om de parametrar som exponerats av dropna (), låt oss se några möjliga scenarier för saknade data och hur vi hanterar dem.

Exempel Användningsfall av Pandas.Dropna ()

Nedan är exemplen på pandas.dropna ():

Importera pandor: För att kunna använda Dropna () måste det finnas en DataFrame. För att skapa en DataFrame måste pandans bibliotek importeras (ingen överraskning här). Vi kommer att importera det med ett alias pd för att enkelt referera objekt under modulen. För att definiera nollvärden kommer vi att hålla oss till numpy.nan. Således kommer vi att importera numpy-biblioteket med ett alias np:

Koda:

In (1): import pandas as pd
In (2): import numpy as np

1. Skapa ett DataFrame-objekt för manipulation

Vid import av pandor finns alla metoder, funktioner och konstruktörer tillgängliga i ditt arbetsområde. Så låt oss skapa en DataFrame som kan hjälpa oss att visa användningar av dropna ().

Koda:

In (3): df = pd.DataFrame(
('Company':('Google', 'Amazon', 'Infosys', 'Directi'),
'Age':('21', '23', '38', '22'),
'NetWorth ($ bn)':(300, np.nan, np.nan, 1.3),
'Founder':(np.nan, np.nan, np.nan, np.nan),
'Headquarter-Country':('United States', np.nan, 'India', 'India') ))
In (4): print(df)
Company Age NetWorth ($ bn) Founder Headquarter-Country
0 Google 21 300.0 NaN United States
1 Amazon 23 NaN NaN NaN
2 Infosys 38 NaN NaN India
3 Directi 22 1.3 NaN India

Den tryckta DataFrame kommer att manipuleras i vår demonstration nedan.

2. Släppa rader mot kolumner

Axelparametern används för att tappa rader eller kolumner som visas nedan:

Koda:

In (5): df.dropna(axis=1)

Produktion:

Out(5):
Company Age
0 Google 21
1 Amazon 23
2 Infosys 38
3 Directi 22

Varje kolumn som innehåller minst 1 NaN som cellvärde tappas. Låt oss se hur rader (axel = 0) kommer att fungera.
Obs : Detta är standardbeteendet när axeln inte är specifikt specificerad.

Koda:

In (6): df.dropna(axis=0)

Produktion:

Out(6):
Empty DataFrame
Columns: (Company, Age, NetWorth ($ bn), Founder, Headquarter-Country) Index: ()

Hmm, så det finns inga data i den returnerade DataFrame längre! Detta är uppenbarligen inte det avsedda beteendet. Låt oss se hur du åtgärdar detta.

3. Använda delmängdsattributet

Tidigare operationer sjönk baserat på alla kolumner när axel = 0. Eftersom det finns en kolumn Grundare som endast har nollvärden, släpps alla rader. Låt oss ange en kolumn som ska användas för filtrering:

Koda:

In (7): df.dropna(axis=0, subset=('NetWorth ($ bn)'))

Produktion:

Out(7):
Company Age NetWorth ($ bn) Founder Headquarter-Country
0 Google 21 300.0 NaN United States
3 Directi 22 1.3 NaN India

Som vi ser är det bara poster med Nanvalue i Networth-kolumnen som tappas. Det returnerade DataFrame kan ändras igen genom att använda dropna () igen för att filtrera ut kolumner genom att passera axeln = 1.

4. Använda hur parameter

Som standard släpper dropna () hela raden / kolumnen, även om bara ett värde saknas. En snabb exponering på baksidan är att släppa endast när alla värden i en rad / kolumn är noll. Detta uppnås genom att ställa in hur = 'alla' istället för hur = 'någon' (standardbeteendet).

Koda:

In (8): df.dropna(axis=1, how='all')

Produktion:

Out(8):
Company Age NetWorth ($ bn) Headquarter-Country
0 Google 21 300.0 United States
1 Amazon 23 NaN NaN
2 Infosys 38 NaN India
3 Directi 22 1.3 India

Nu kan den resulterande DataFrame användas för att släppa rader / kolumner med en mer komplex logik om det behövs.

5. Få kontroll genom Thresh

Tröskelparametern är förmodligen det kraftfullaste verktyget när det kombineras med resten på lämpligt sätt.

Koda:

In (17): df.dropna(axis=1, thresh=2)

Produktion:

Out(17):
Company Age NetWorth ($ bn) Headquarter-Country
0 Google 21 300.0 United States
1 Amazon 23 NaN NaN
2 Infosys 38 NaN India
3 Directi 22 1.3 India

Genom att ställa in axel = 1 och tröskel = 2, behålls endast de kolumner med minst 2 icke-NaN-värden.

Slutsats

Exemplen som visas ovan är enkla till sin natur, men ändå är tillräckligt kraftfulla för att hantera de flesta av de problem du kanske stöter på i verkliga situationer. Inte desto mindre bör man öva på att kombinera olika parametrar för att ha en kristallklar förståelse för deras användning och bygghastighet i deras tillämpning.

Rekommenderade artiklar

Detta är en guide till Pandas.Dropna (). Här diskuterar vi vad som är Pandas.Dropna (), parametrarna och exemplen. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer-

  1. Vad är Pandas
  2. NLP i Python
  3. Abstrakt klass i Python
  4. Factorial i Python
  5. Factorial-program i JavaScript

Kategori: