Låt oss diskutera hur man släpper en eller flera kolumner i Pandas Dataframe. För att ta bort en kolumn från en Pandas DataFrame eller Släpp en eller flera kolumner i en Pandas Dataframe kan uppnås på flera sätt.
Släpp en eller flera kolumner i Pandas dataram
Det finns olika metoder för att släppa en eller flera kolumner i Pandas Dataframe, vi diskuterar några allmänt använda metoder för att släppa en eller flera kolumner i Pandas Dataframe som är följande:
- Använder metoden df.drop().
- Använder sig av iloc[] Metod
- Använder sig av df.ix() metod
- Använder sig av df.loc[] Metod
- Använder iterativ metod
- Använder sig av Dataframe.pop() Metod
Skapa en DataFrame
Först skapar vi en enkel Dataframe med ordlista med listor, säg kolumnnamn A, B, C, D, E . I den här artikeln kommer vi att täcka 6 olika metoder för att ta bort några kolumner från Pandas DataFrame.
Pytonorm # 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> Utgång:
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 med df.drop()-metoden
Exempel 1: I det här exemplet tar vi bort specifika enstaka kolumner som koden nedan använder Pandas för att skapa en DataFrame från en ordbok och tar sedan bort kolumnen 'A' med hjälp avdrop>metod medaxis=1>. Det är dock viktigt att notera att den ursprungliga DataFrame ('df') förblir oförändrad om inteinplace=True>parameter används eller så tilldelas resultatet tillbaka till 'df'.
# 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)> Utgång:
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>
Exempel 2: I det här exemplet Ta bort specifika flera kolumner eftersom koden nedan använder Pandas för att skapa en DataFrame från en ordbok och sedan tar bort kolumnerna 'C' och 'D' med hjälp avdrop>metod medaxis=1>. Observera dock att den ursprungliga DataFrame ('df') förblir oförändrad såvida inte resultatet tilldelas tillbaka ellerinplace=True>är använd. Alternativt kan samma operation utföras med hjälp avdf.drop(columns=['C', 'D'])>.
Pytonorm
# 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'])> Utgång:
A B E 0 A1 B1 E1 1 A2 B2 E2 2 A3 B3 E3 3 A4 B4 E4 4 A5 B5 E5>
Exempel 3: I det här exemplet Ta bort kolumner baserade på kolumnindex eftersom koden nedan skapar en Pandas DataFrame från en ordbok och tar bort tre kolumner ('A', 'E', 'C') baserat på deras indexpositioner med hjälp av `drop`-metoden med ` axel=1`. Den modifierade DataFrame visas och ändringarna görs på plats (`inplace=True`).
Pytonorm # 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> Utgång:
B D 0 B1 D1 1 B2 D2 2 B3 D3 3 B4 D4 4 B5 D5>
Dataframe Drop Columns i Pandas med df.iloc[]-metoden
I detta exempel Ta bort kolumner mellan specifika start- och slutkolumner eftersom koden nedan använder Pandas för att skapa en DataFrame från en ordbok och tar sedan bort alla kolumner mellan kolumnindex 1 till 3 med hjälp avdrop>metod medaxis=1>. Ändringarna är gjorda på plats (inplace=True>), och den modifierade DataFrame visas.
# 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 släpp kolumner från Dataframe med df.ix()-metoden
I detta exempel Ta bort kolumner mellan specifika kolumnnamn eftersom koden nedan, med Pandas, skapar en DataFrame från en ordbok och tar bort alla kolumner mellan kolumnnamnen 'B' till 'D' med hjälp avdrop>metod medaxis=1>. Den ursprungliga DataFrame ('df') förblir dock oförändrad om inte resultatet tilldelas tillbaka ellerinplace=True>är använd.
# 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)> Utgång:
A E 0 A1 E1 1 A2 E2 2 A3 E3 3 A4 E4 4 A5 E5>
Pandas släpp kolumner från Dataframe med df.loc[]-metoden
I det här exemplet Släpp kolumner mellan specifika kolumnnamn som nedanstående kod använder Pandas för att skapa en DataFrame från en ordbok och sedan ta bort alla kolumner mellan kolumnnamnen 'B' och 'D' med hjälp avdrop>metod medaxis=1>. Den modifierade DataFrame tilldelas inte tillbaka till någon variabel, och den ursprungliga DataFrame förblir oförändrad.
# 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)> Utgång:
A E 0 A1 E1 1 A2 E2 2 A3 E3 3 A4 E4 4 A5 E5>
Notera: Olika loc() och iloc() är iloc() exkludera sista kolumnintervallelementet.
Pandas släpp kolumner från Datafram med iterativ metod
I det här exemplet Ta bort kolumner mellan specifika kolumnnamn eftersom koden nedan skapar en Pandas DataFrame från en lexikon och itererar genom dess kolumner. För varje kolumn, om bokstaven 'A' finns i kolumnnamnet, tas den kolumnen bort från DataFrame. Den resulterande modifierade DataFrame visas.
Pytonorm # 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> Utgång:
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 med Dataframe.pop()-metoden
I det här exemplet visar Ta bort en specifik kolumn från en DataFrame som koden hur man tar bort en specifik kolumn ('B') från en Pandas DataFrame skapad från en ordbok. Den använder pop> metod, och den resulterande modifierade DataFrame visas.
# 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>