Dostęp do konkretnej komórki

Załóżmy, że mamy następującą strukturę DataFrame:

Dostęp do konkretnej wartości polega na podaniu wartości kolumny, a następnie wiersza:

df['salt']['Jan']

W przypadku, jeśli kolumny są nazywane bez użycia spacji i znaków specjalnych, wówczas możliwa jest następująca notacja:

df.eggs['Mar']

Najwłaściwszą i polecaną metodą jest używanie tzw. akcesorów, czyli metod loc _i iloc. Loc _wykorzystuje nazwy kolumn i nazwę indeksu wiersza. Iloc wykorzystuje numery wierszy i kolumn. Odwrotnie niż we wzorcu z wykorzystaniem dwóch par nawiasów, w przypadku korzystania z akcesorów jako pierwszy podaje się indeks wiersza, a następnie kolumny:

df.loc['May', 'spam']
df.iloc[4,2]

Dostęp do wybranych kolumn

df[['eggs','salt']]

Dostęp do wybranych wierszy (slicing)

df['eggs'][1:4]

Zwraca nam wiersze od 2 do czwartego. W naszym przykładzie będą to wartości 110, 221, 77.

Używając akcesora _loc _możemy mieć dostęp zarówno do wskazanego zakresu wierszy jak i kolumn:

df.loc[:,'eggs':'salt']

Akcesor loc i iloc pozwalają również na przekazanie listy wierszy lub kolumn, które nas interesują:

df.loc['Jan':'May', ['eggs','spam']]

Akcesor loc i iloc przy zastosowaniu operatora zakresu ":" pozwalają również na zmianę kolejności kolumn lub wierszy:

df.loc['May':'Jan':-1, :]

Filtrowanie

Filtrowanie możliwe jest poprzez wykorzystanie obiektu typu Series, który ma tyle samo wierszy co obiekt DataFrame i jest typu Boolean. Wówczas filtrowane są te wiersze, które odpowiadają wartością prawdziwym w przekazanej serii.

df[df.spam > 50]

Możliwe jest łączenie warunków sortowania:

df[(df.spam > 50) | (df.spam < 20)]

results matching ""

    No results matching ""