Kaip išmesti vieną ar kelis stulpelius Pandas Dataframe

Aptarkime, kaip Pandas Dataframe išmesti vieną ar kelis stulpelius. Norėdami ištrinti stulpelį iš a Pandas DataFrame arba Pandas Dataframe vieną ar kelis stulpelius galima pasiekti keliais būdais.

Pandos duomenų rėmelyje išmeskite vieną ar kelis stulpelius

Yra įvairių būdų, kaip išmesti vieną ar kelis stulpelius Pandas Dataframe, mes aptariame kai kuriuos dažniausiai naudojamus vieno ar kelių stulpelių panaikinimo Pandas Dataframe metodus, kurie yra šie:

  • Naudojant df.drop() metodą
  • Naudojant iloc[] Metodas
  • Naudojant df.ix() metodas
  • Naudojant df.loc[] Metodas
  • Iteratyvinio metodo naudojimas
  • Naudojant Dataframe.pop() Metodas

Sukurkite duomenų rėmelį

Pirmiausia sukuriame paprastą duomenų rėmelį su sąrašų žodynu, tarkime, yra stulpelių pavadinimai A B C D E . Šiame straipsnyje apžvelgsime 6 skirtingus būdus, kaip ištrinti kai kuriuos stulpelius iš 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 

Išvestis:

 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 

Duomenų rėmelio nuleidimo stulpelis Pandas naudojant df.drop() metodą

1 pavyzdys: Šiame pavyzdyje pašaliname konkrečius atskirus stulpelius, kaip naudojamas toliau pateiktas kodas Pandos Norėdami sukurti duomenų rėmelį iš žodyno, tada pašalinkite stulpelį „A“, naudodami drop> metodas su axis=1> . Tačiau svarbu pažymėti, kad pradinis duomenų rėmelis (df) lieka nepakitęs, nebent inplace=True> naudojamas parametras arba rezultatas priskiriamas atgal į „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) 

Išvestis:

 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 

2 pavyzdys: Šiame pavyzdyje pašalinkite konkrečius kelis stulpelius, nes toliau pateiktas kodas naudoja Pandas, kad sukurtų duomenų rėmelį iš žodyno, o tada pašalina stulpelius „C“ ir „D“, naudodamas drop> metodas su axis=1> . Tačiau atminkite, kad pradinis duomenų rėmelis (df) lieka nepakitęs, nebent rezultatas būtų priskirtas atgal arba inplace=True> yra naudojamas. Arba tą pačią operaciją galima atlikti naudojant df.drop(columns=['C', 'D'])> .

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']) 

Išvestis:

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

3 pavyzdys: Šiame pavyzdyje pašalinkite stulpelius pagal stulpelio indeksą, nes toliau pateiktas kodas sukuria Pandas DataFrame iš žodyno ir pašalina tris stulpelius ('A', 'E', 'C') pagal jų indekso pozicijas, naudojant 'drop' metodą su ' ašis=1`. Rodomas pakeistas duomenų rėmelis, o pakeitimai atliekami vietoje ('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 

Išvestis:

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

Duomenų rėmelio nuleidimo stulpeliai Pandas naudojant df.iloc[] metodą

Šiame pavyzdyje Ištrinkite stulpelius tarp konkrečių pradžios ir pabaigos stulpelių, nes toliau pateiktas kodas naudoja Pandas, kad sukurtų duomenų rėmelį iš žodyno, o tada pašalina visus stulpelius tarp stulpelių indeksų nuo 1 iki 3, naudojant drop> metodas su axis=1> . Pakeitimai atliekami vietoje ( inplace=True> ) ir rodomas pakeistas 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) # Remove all columns between column index 1 to 3 df.drop(df.iloc[:, 1:3], inplace=True, axis=1) df 

Išvestis:

 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 iš Dataframe naudojant df.ix() metodą

Šiame pavyzdyje Pašalinkite stulpelius tarp konkrečių stulpelių pavadinimų, kaip toliau pateiktas kodas, naudojant Pandas, sukuria duomenų rėmelį iš žodyno ir pašalina visus stulpelius tarp stulpelių pavadinimų „B“ iki „D“, naudojant drop> metodas su axis=1> . Tačiau pradinis duomenų rėmelis („df“) lieka nepakitęs, nebent rezultatas būtų priskirtas atgal arba inplace=True> yra naudojamas.

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) 

Išvestis:

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

Pandas Drop Columns iš Dataframe naudojant df.loc[] metodą

Šiame pavyzdyje nuleiskite stulpelius tarp konkrečių stulpelių pavadinimų kaip žemiau kodo naudojimo Pandos sukurti DataFrame iš žodyno ir pašalinti visus stulpelius tarp stulpelių pavadinimų „B“ ir „D“, naudodami drop> metodas su axis=1> . Pakeistas DataFrame nėra priskiriamas atgal jokiam kintamajam, o pradinis DataFrame lieka nepakitęs.

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) 

Išvestis:

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

Pastaba: Skirtingi loc() ir iloc() yra iloc() neįtraukia paskutinio stulpelio diapazono elemento.

Pandas Drop Columns iš Datafram naudojant kartotinį metodą

Šiame pavyzdyje ištrinkite stulpelius tarp konkrečių stulpelių pavadinimų, nes toliau pateiktas kodas sukuria Pandas DataFrame iš a žodynas ir kartojasi per savo stulpelius. Jei kiekvieno stulpelio pavadinime yra raidė „A“, tas stulpelis ištrinamas iš „DataFrame“. Rodomas pakeistas duomenų rėmelis.

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 

Išvestis:

 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 Pandas naudojant Dataframe.pop() metodą

Šiame pavyzdyje Konkretaus stulpelio pašalinimas iš duomenų rėmelio, nes kodas parodo, kaip pašalinti konkretų stulpelį (B) iš Pandas DataFrame, sukurto iš žodyno. Jis naudoja pop> metodą ir rodomas gautas pakeistas 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.pop('B') df 

Išvestis:

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