Najszybsza metoda to po prostu wrzucenie listy z nazwami kolumn df[['Date', 'Product']]
Bardziej wygodną opcją jest metoda loc, czyli location
obsługuje zarówno wybór wierszy, jak i kolumn loc[wiersze,kolumny]
znak : oznacza, że wybieramy wszystkie kolumny lub wiersze, np. df.loc[:, :] - czyli de facto cała tabela
: oznacza od - do, czyli df.loc[:, 'Date':'Price'] wybiera wszystkie kolumny od Sales do Price
można też po prostu wybrać kolumny ręcznie df.loc[:, ['Date', 'Price']
albo wybrać kolumny poza tymi zdefiniowanymi
alternatywą jest iloc, czyli indexed location, w tym przypadku wystarczy podać index - wartość numeryczną
Albo zrzucić za pomocą drop() podając argument columns
# Standarddf[['Date', 'Product', 'Sales']] # wybór tylko tych trzech kolumn# loc & ilocdf.loc[:, 'Date':'Price'] # wybiera wszystkie kolumny od `Date` do `Price`df.loc[:, ['Price', 'Date']] # wybór kolumn `Price` i `Date`df.loc[:, df.columns != 'Date'] # usuwanie kolumny 'Date'df.iloc[:, 0:2] # wybiera kolumny od 0 i 1# dropdf.drop(columns=['Date'])# usunięcie kolumny 'Date'
Zaawansowane
Istnieje też bardziej zaawansowana metoda filter()
axis - wybieranie osi tabeli: 0 to wiersze, 1 to kolumny, domyślnie 1
df.filter(items=['Product', 'Sales']) # wybór kolumn 'Product' i 'Sales'df.filter(like='P', axis=1) # wybór wszystkich kolumn na 'P'df.filter(regex='^[PS]', axis=1) # wybór wszystkich kolumn na 'P' LUB 'S'
Inne metody
# Wybieranie określonego typu kolumnydf.select_dtypes(include=['number'])# wybieranie kolumn z kardynalnością większą niż 5selection = [col for col in df.columns if df[col].nunique() > 5]df[selection]