Панды Итерроузы: как перебирать строки панд

Pandas iterrows — это встроенная функция DataFrame, которая поможет вам просмотреть каждую строку в цикле. Метод Pandas iterrows () возвращает итератор, содержащий индекс каждой строки и данные в каждой строке в виде серии. Поскольку iterrows () возвращает итератор, мы можем использовать следующую функцию, чтобы увидеть содержимое итератора.

Содержание
  1. Pandas Iterrows
  2. Синтаксис
  3. index: метка или кортеж метки Индекс строки. Кортеж для MultiIndex. data: Series Данные строки как Серии. it: generator Это генератор, который выполняет итерацию по строкам кадра. Шаги по итерации по строкам Pandas Шаг 1. Создайте DataFrame Давайте создадим DataFrame из данных JSON. Во-первых, нам нужно преобразовать JSON в Dict с помощью функции json.loads (). Затем мы конвертируем Dict в DataFrame с помощью функции DataFrame.from_dict (). См. Следующий код. # app.pyimport pandas as pdimport jsonvideogame = '{"console": ["Playstation5", "XboxSeriesX"], "games": ["Spiderman", "Halo"]}' dict = json. загружает (видеоигру) df = pd.DataFrame.from_dict (dict) print (df) print (type (df)) Вывод python3 app.py console games0 Playstation5 Spiderman1 XboxSeriesX Halo Итак, мы создали DataFrame. Шаг 2. Итерируйте строки DataFrame с помощью Pandas iterrows () См. следующий код. # app.pyimport pandas as pdimport jsonvideogame = '{"console": ["Playstation5", "XboxSeriesX"], "games": ["Человек-паук", "Halo"]}' dict = json.loads (видеоигра) df = pd.DataFrame.from_dict ( dict) для индекса, строка в df.iterrows (): print (index, row ['console'], row ['games']) Вывод питон 3 app.py0 Playstation5 Spiderman1 XboxSeriesX Halo Поскольку данные строки возвращаются как серия, мы можем использовать столбец имена для доступа к значению каждого столбца в строке. Здесь мы перебираем каждую строку и назначаем индекс строки, данные строки переменным с именем index и row. Затем мы получаем доступ к данным строки, используя имена столбцов DataFrame. Поскольку функция Pandas iterrows () возвращает Series для каждой строки, она не сохраняет dtypes в строках. Вы никогда не должны изменять то, что вы повторяете. Итерация по объектам pandas выполняется очень медленно. Во многих случаях итерация вручную по строкам не требуется. Чтобы сохранить типы dtypes при итерации по строкам, лучше использовать itertuples (), который возвращает именованные кортежи значений и который, как правило, быстрее, чем iterrows (). Pandas iterrows () и next () Функция iterrows () возвращает итератор, и мы можем использовать функцию next () для просмотра содержимого итератора. Мы видим, что метод iterrows () возвращает кортеж с индексом строки и данными строки как объект Series. # app.pyimport pandas as pdimport jsonvideogame = '{"console": ["Playstation5 "," XboxSeriesX "]," games ": [" Человек-паук "," Halo "]} 'dict = json.loads (видеоигра) df = pd.DataFrame.from_dict (dict) print (next (df.iterrows ()) [0]) print (next (df.iterrows ()) [1]) Вывод python3 app.py0console Playstation5games SpidermanName: 0, dtype: object Мы можем перебрать фрейм данных Pandas и легко получить доступ к индексу каждой строки и содержимому каждой строки. Как перебирать строки DataFrame с помощью itertuples () Pandas itertuples () — это встроенная функция DataFrame, которая выполняет итерацию по строкам DataFrame как именованным кортежам. Это лучший способ перебора/цикла по строкам DataFrame — использовать функцию Pandas itertuples (). Согласно имени itertuples (), itertuple выполняет цикл по строкам фрейма данных и возвращает именованный кортеж. См. следующий код. # app.pyimport pandas as pdimport jsonvideogame = '{"console": ["Playstation5", "XboxSeriesX"], "games": ["Spiderman", "Halo"]}' dict = json.loads (видеоигра ) df = pd.DataFrame.from_dict (dict) для строки в df.itertuples (): print (row) Вывод python3 app.pyPandas (Index = 0, console = 'Playstation5', games = 'Spiderman') Pandas (Index = 1, console = 'XboxSeriesX', games = 'Halo') Первый элемент кортежа — это индекс строки, а оставшиеся значения кортежей — это данные в строке. В отличие от функции Pandas iterrows (), данные строки не хранятся в серии. Из вывода мы можем видеть, что метод DataFrame itertuples () возвращает содержимое строки как названный кортеж со связанным имена столбцов. Следовательно, мы можем просто получить доступ к данным с помощью имен столбцов и индекса. См. Следующий код. # app. pyimport pandas как pdimport jsonvideogame = '{"console": ["Playstation5", "XboxSeriesX"], "games": ["Spiderman", "Halo"]}' dict = json.loads (videogame) df = pd.DataFrame .from_dict (dict) для строки в df.itertuples (): print (row.Index, row.console, row.games) Вывод python3 app.py0 Playstation5 Spiderman1 XboxSeriesX Halo Заключение Чтобы перебирать строки в Pandas DataFrame, мы может использовать Pandas DataFrame iterrows () и Pandas DataFrame itertuples (). Наконец, пример Pandas iterrows () завершен. См. Также Pandas set_index () Логическое индексирование Pandas Pandas SQL to DataFrame Pandas JSON to CSV Pandas DataFrame to List
  4. Шаги по итерации по строкам Pandas
  5. Шаг 1. Создайте DataFrame
  6. Вывод
  7. Шаг 2. Итерируйте строки DataFrame с помощью Pandas iterrows ()
  8. Вывод
  9. Pandas iterrows () и next ()
  10. Вывод
  11. Как перебирать строки DataFrame с помощью itertuples ()
  12. Вывод
  13. Вывод
  14. Заключение
  15. См. Также

Pandas Iterrows

Функция Pandas iterrows () используется для перебора строк фрейма данных Pandas. Помимо iterrows, Pandas также имеет полезную функцию itertuples () . Функция iterrows () используется для перебора строк DataFrame в виде пар (индекс, серия). Функция выполняет итерацию по столбцам DataFrame, возвращая кортеж с именем столбца и содержимым как Series .

Синтаксис

DataFrame.iterrows(self)

index: метка или кортеж метки

Индекс строки. Кортеж для MultiIndex .

data: Series

Данные строки как Серии.

it: generator

Это генератор, который выполняет итерацию по строкам кадра.

Шаги по итерации по строкам Pandas

Шаг 1. Создайте DataFrame

Давайте создадим DataFrame из данных JSON. Во-первых, нам нужно преобразовать JSON в Dict с помощью функции json.loads (). Затем мы конвертируем Dict в DataFrame с помощью функции DataFrame.from_dict ().

См. Следующий код.

 # app.pyimport pandas as pdimport jsonvideogame = '{"console": ["Playstation5", "XboxSeriesX"], "games": ["Spiderman", "Halo"]}' dict = json.  загружает (видеоигру) df = pd.DataFrame.from_dict (dict) print (df) print (type (df)) 

Вывод

 python3 app.py console games0 Playstation5 Spiderman1 XboxSeriesX Halo  

Итак, мы создали DataFrame.

Шаг 2. Итерируйте строки DataFrame с помощью Pandas iterrows ()

См. следующий код.

 # app.pyimport pandas as  pdimport jsonvideogame = '{"console": ["Playstation5", "XboxSeriesX"], "games": ["Человек-паук", "Halo"]}' dict = json.loads (видеоигра) df = pd.DataFrame.from_dict (  dict) для индекса, строка в df.iterrows (): print (index, row ['console'], row ['games']) 

Вывод

 питон  3 app.py0 Playstation5 Spiderman1 XboxSeriesX Halo 

Поскольку данные строки возвращаются как серия, мы можем использовать столбец имена для доступа к значению каждого столбца в строке.

Здесь мы перебираем каждую строку и назначаем индекс строки, данные строки переменным с именем index и row. Затем мы получаем доступ к данным строки, используя имена столбцов DataFrame.

Поскольку функция Pandas iterrows () возвращает Series для каждой строки, она не сохраняет dtypes в строках. Вы никогда не должны изменять то, что вы повторяете.

Итерация по объектам pandas выполняется очень медленно.

Во многих случаях итерация вручную по строкам не требуется.

Чтобы сохранить типы dtypes при итерации по строкам, лучше использовать itertuples () , который возвращает именованные кортежи значений и который, как правило, быстрее, чем iterrows () .

Pandas iterrows () и next ()

Функция iterrows () возвращает итератор, и мы можем использовать функцию next () для просмотра содержимого итератора. Мы видим, что метод iterrows () возвращает кортеж с индексом строки и данными строки как объект Series.

 # app.pyimport pandas as pdimport jsonvideogame = '{"console": ["Playstation5  "," XboxSeriesX "]," games ": [" Человек-паук "," Halo "]} 'dict = json.loads (видеоигра) df = pd.DataFrame.from_dict (dict) print (next (df.iterrows ())  [0]) print (next (df.iterrows ()) [1]) 

Вывод

 python3 app.py0console  Playstation5games SpidermanName: 0, dtype: object 

Мы можем перебрать фрейм данных Pandas и легко получить доступ к индексу каждой строки и содержимому каждой строки.

Как перебирать строки DataFrame с помощью itertuples ()

Pandas itertuples () — это встроенная функция DataFrame, которая выполняет итерацию по строкам DataFrame как именованным кортежам. Это лучший способ перебора/цикла по строкам DataFrame — использовать функцию Pandas itertuples ().

Согласно имени itertuples (), itertuple выполняет цикл по строкам фрейма данных и возвращает именованный кортеж.

См. следующий код.

 # app.pyimport pandas as pdimport jsonvideogame = '{"console": ["Playstation5", "XboxSeriesX"], "games": ["Spiderman", "Halo"]}' dict = json.loads (видеоигра  ) df = pd.DataFrame.from_dict (dict) для строки в df.itertuples (): print (row) 

Вывод

 python3 app.pyPandas (Index = 0, console = 'Playstation5', games = 'Spiderman') Pandas (Index = 1, console = 'XboxSeriesX', games = 'Halo') 

Первый элемент кортежа — это индекс строки, а оставшиеся значения кортежей — это данные в строке. В отличие от функции Pandas iterrows (), данные строки не хранятся в серии.

Из вывода мы можем видеть, что метод DataFrame itertuples () возвращает содержимое строки как названный кортеж со связанным имена столбцов.

Следовательно, мы можем просто получить доступ к данным с помощью имен столбцов и индекса. См. Следующий код.

 # app. pyimport pandas как pdimport jsonvideogame = '{"console": ["Playstation5", "XboxSeriesX"], "games": ["Spiderman", "Halo"]}' dict = json.loads (videogame) df = pd.DataFrame  .from_dict (dict) для строки в df.itertuples (): print (row.Index, row.console, row.games) 

Вывод

 python3 app.py0 Playstation5 Spiderman1 XboxSeriesX Halo 

Заключение

Чтобы перебирать строки в Pandas DataFrame, мы может использовать Pandas DataFrame iterrows () и Pandas DataFrame itertuples (). Наконец, пример Pandas iterrows () завершен.

См. Также

Pandas set_index ()

Логическое индексирование Pandas

Pandas SQL to DataFrame

Pandas JSON to CSV

Pandas DataFrame to List

Оцените статью
nanomode.ru
Добавить комментарий