Szukaj…


Korzystanie z .iloc

.iloc używa liczb całkowitych do odczytu i zapisu danych do DataFrame.

Najpierw utwórzmy DataFrame:

df = pd.DataFrame({'one': [1, 2, 3, 4, 5],
                   'two': [6, 7, 8, 9, 10],
              }, index=['a', 'b', 'c', 'd', 'e'])

Ten DataFrame wygląda następująco:

   one  two
a    1    6
b    2    7
c    3    8
d    4    9
e    5   10

Teraz możemy używać .iloc do odczytu i zapisu wartości. Przeczytajmy pierwszy wiersz, pierwszą kolumnę:

print df.iloc[0, 0]

Spowoduje to wydrukowanie:

1

Możemy również ustawić wartości. Pozwala ustawić drugą kolumnę, drugi wiersz na coś nowego:

df.iloc[1, 1] = '21'

A potem spójrz, co się stało:

print df 

   one two
a    1   6
b    2  21
c    3   8
d    4   9
e    5  10

Korzystanie z .loc

.loc używa etykiet do odczytu i zapisu danych.

Skonfigurujmy DataFrame:

df = pd.DataFrame({'one': [1, 2, 3, 4, 5],
                   'two': [6, 7, 8, 9, 10],
                  }, index=['a', 'b', 'c', 'd', 'e'])

Następnie możemy wydrukować DataFrame, aby zobaczyć kształt:

print df 

To wyjdzie

   one  two
a    1    6
b    2    7
c    3    8
d    4    9
e    5   10

Używamy etykiet kolumn i wierszy , aby uzyskać dostęp do danych w .loc. Ustawmy wiersz „c”, kolumnę „dwa” na wartość 33:

df.loc['c', 'two'] = 33 

Tak wygląda teraz DataFrame:

   one  two
a    1    6
b    2    7
c    3   33
d    4    9
e    5   10

Warto zauważyć, że użycie df['two'].loc['c'] = 33 może nie zgłosić ostrzeżenia, a nawet może działać, jednak użycie df.loc['c', 'two'] gwarantuje prawidłowe działanie , podczas gdy ten pierwszy nie.

Możemy na przykład czytać wycinki danych

print df.loc['a':'c'] 

wypisze wiersze od a do c. To jest włącznie.

   one  two
a    1    6
b    2    7
c    3    8

I wreszcie możemy zrobić oba razem:

print df.loc['b':'d', 'two']

Wyprowadza wiersze od b do c kolumny „dwa”. Zauważ, że etykieta kolumny nie jest drukowana.

b    7
c    8
d    9

Jeśli .loc jest dostarczany z argumentem liczby całkowitej, który nie jest etykietą, powraca do indeksowania liczb całkowitych osi (zachowanie .iloc). Umożliwia to indeksowanie mieszanych etykiet i liczb całkowitych:

df.loc['b', 1]

zwróci wartość w drugiej kolumnie (indeks rozpoczynający się od 0) w wierszu „b”:

7


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow