logo

Sådan droppes en eller flere kolonner i Pandas Dataframe

Lad os diskutere, hvordan man slipper en eller flere kolonner i Pandas Dataframe. For at slette en kolonne fra en Pandas DataFrame eller Slip en eller flere kolonner i en Pandas Dataramme kan opnås på flere måder.

Slip én eller flere kolonner i Pandas dataramme

Der er forskellige metoder til at droppe en eller flere kolonner i Pandas Dataframe, vi diskuterer nogle almindeligt anvendte metoder til at slippe en eller flere kolonner i Pandas Dataframe, som er følgende:

  • Brug af df.drop()-metoden
  • Ved brug af iloc[] Metode
  • Ved brug af df.ix() metode
  • Ved brug af df.loc[] Metode
  • Brug af iterativ metode
  • Ved brug af Dataframe.pop() Metode

Opret en DataFrame

Først opretter vi en simpel dataramme med ordbog over lister, f.eks. kolonnenavne A, B, C, D, E . I denne artikel vil vi dække 6 forskellige metoder til at slette nogle kolonner fra Pandas DataFrame.



Python
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) df>

Output:

 A B C D E   0   A1 B1 C1 D1 E1   1   A2 B2 C2 D2 E2   2   A3 B3 C3 D3 E3   3   A4 B4 C4 D4 E4   4   A5 B5 C5 D5 E5>

Dataframe Drop Column i Pandas ved hjælp af df.drop()-metoden

Eksempel 1: I dette eksempel fjerner vi specifikke enkelte kolonner, som nedenstående kode bruger Pandaer at oprette en DataFrame fra en ordbog og derefter fjerne kolonnen 'A' ved hjælp afdrop>metode medaxis=1>. Det er dog vigtigt at bemærke, at den originale DataFrame ('df') forbliver uændret, medmindreinplace=True>parameter bruges, eller resultatet tildeles tilbage til 'df'.

Python
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove column name 'A' df.drop(['A'], axis=1)>

Output:

forekomst af
 B C D E 0 B1 C1 D1 E1 1 B2 C2 D2 E2 2 B3 C3 D3 E3 3 B4 C4 D4 E4 4 B5 C5 D5 E5>

Eksempel 2: I dette eksempel Fjern specifikke flere kolonner, da nedenstående kode bruger Pandas til at oprette en DataFrame fra en ordbog og derefter fjerner kolonnerne 'C' og 'D' ved hjælp afdrop>metode medaxis=1>. Bemærk dog, at den originale DataFrame ('df') forbliver uændret, medmindre resultatet tildeles tilbage ellerinplace=True>anvendes. Alternativt kan den samme operation udføres vhadf.drop(columns=['C', 'D'])>.

overskrift i illustrator
Python
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove two columns name is 'C' and 'D' df.drop(['C', 'D'], axis=1) # df.drop(columns =['C', 'D'])>

Output:

   A B E  0 A1 B1 E1 1 A2 B2 E2 2 A3 B3 E3 3 A4 B4 E4 4 A5 B5 E5>

Eksempel 3: I dette eksempel Fjern kolonner baseret på kolonneindeks, da nedenstående kode opretter en Pandas DataFrame fra en ordbog og fjerner tre kolonner ('A', 'E', 'C') baseret på deres indekspositioner ved hjælp af 'drop'-metoden med ' akse=1`. Den ændrede DataFrame vises, og ændringerne foretages på plads (`inplace=True`).

Python
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove three columns as index base df.drop(df.columns[[0, 4, 2]], axis=1, inplace=True) df>

Output:

   B D  0 B1 D1 1 B2 D2 2 B3 D3 3 B4 D4 4 B5 D5>

Dataframe Drop Columns i Pandas ved hjælp af df.iloc[]-metoden

I dette eksempel Slet kolonner mellem specifikke start- og slutkolonner, da nedenstående kode bruger Pandas til at oprette en DataFrame fra en ordbog og derefter fjerner alle kolonner mellem kolonneindeks 1 til 3 ved hjælp afdrop>metode medaxis=1>. Ændringerne er lavet på plads (inplace=True>), og den ændrede DataFrame vises.

Python
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove all columns between column index 1 to 3 df.drop(df.iloc[:, 1:3], inplace=True, axis=1) df>

Produktion:

 A D E 0 A1 D1 E1 1 A2 D2 E2 2 A3 D3 E3 3 A4 D4 E4 4 A5 D5 E5>

Pandas Drop Columns fra Dataframe ved hjælp af df.ix()-metoden

I dette eksempel Fjern kolonner mellem specifikke kolonnenavne, da nedenstående kode ved hjælp af Pandas opretter en DataFrame fra en ordbog og fjerner alle kolonner mellem kolonnenavnene 'B' til 'D' ved hjælp afdrop>metode medaxis=1>. Den originale DataFrame ('df') forbliver dog uændret, medmindre resultatet tildeles tilbage ellerinplace=True>anvendes.

Python
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove all columns between column name 'B' to 'D' df.drop(df.ix[:, 'B':'D'].columns, axis=1)>

Output:

 A E 0 A1 E1 1 A2 E2 2 A3 E3 3 A4 E4 4 A5 E5>

Pandas Drop Columns fra Dataframe ved hjælp af df.loc[]-metoden

I dette eksempel Slip kolonner mellem specifikke kolonnenavne som nedenstående kode bruger Pandaer at oprette en DataFrame fra en ordbog og derefter fjerne alle kolonner mellem kolonnenavnene 'B' og 'D' ved hjælp afdrop>metode medaxis=1>. Den ændrede DataFrame tildeles ikke tilbage til nogen variabel, og den originale DataFrame forbliver uændret.

Python
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove all columns between column name 'B' to 'D' df.drop(df.loc[:, 'B':'D'].columns, axis=1)>

Output:

 A E 0 A1 E1 1 A2 E2 2 A3 E3 3 A4 E4 4 A5 E5>

Bemærk: Forskellige loc() og iloc() er iloc() ekskluderer element i det sidste kolonneområde.

sammenkæde java-streng

Pandas Drop Columns fra Datafram ved hjælp af iterativ metode

I dette eksempel Slet kolonner mellem specifikke kolonnenavne, da nedenstående kode opretter en Pandas DataFrame fra en ordbog og itererer gennem sine kolonner. For hver kolonne, hvis bogstavet 'A' er til stede i kolonnenavnet, slettes denne kolonne fra DataFrame. Den resulterende modificerede DataFrame vises.

Python
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) for col in df.columns: if 'A' in col: del df[col] df>

Output:

 B C D E 0 B1 C1 D1 E1 1 B2 C2 D2 E2 2 B3 C3 D3 E3 3 B4 C4 D4 E4 4 B5 C5 D5 E5>

Dataframe Drop Column i Pandas ved hjælp af Dataframe.pop()-metoden

I dette eksempel viser Fjernelse af en specifik kolonne fra en DataFrame som koden, hvordan man fjerner en specifik kolonne ('B') fra en Pandas DataFrame oprettet fra en ordbog. Den bruger pop> metode, og den resulterende ændrede DataFrame vises.

Python
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) df.pop('B') df>

Produktion:

A C D E 0 A1 C1 D1 E1 1 A2 C2 D2 E2 2 A3 C3 D3 E3 3 A4 C4 D4 E4 4 A5 C5 D5 E5>