DataFrame to przede wszystkim struktura danych oparta na kolumnach. Pod maską dane wewnątrz DataFrame są przechowywane w blokach. Z grubsza rzecz biorąc, dla każdego typu dtype jest jeden blok. Każda kolumna ma jeden typ dtype. W ten sposób dostęp do kolumny można uzyskać, wybierając odpowiednią kolumnę z pojedynczego bloku. Natomiast wybranie pojedynczego wiersza wymaga wybrania odpowiedniego wiersza z każdego bloku, a następnie utworzenia nowej serii i skopiowania danych z każdego wiersza bloku do serii. Tak więc, powtarzanie przez wiersze obiektu DataFrame (pod maską) nie jest tak naturalnym procesem jak iterowanie po kolumnach.
Jeśli potrzebujesz powtórzyć kolejne wiersze, nadal możesz dzwonić pod numer df.iterrows()
. Powinieneś unikać używania df.iterrows
, jeśli to możliwe, z tego samego powodu, dla którego jest nienaturalny - wymaga on kopiowania, który sprawia, że proces jest wolniejszy niż iterowanie po kolumnach.