Python Pandas: как перебирать столбцы в DataFrame

Фрейм данных Python Pandas — это двумерная структура данных, в которой данные выровнены в табличной форме по строкам и столбцам. DataFrame — это двумерная потенциально составная структура табличных данных с изменяемым размером и помеченными осями (строки и столбцы). В этом примере мы увидим разные способы перебора всех или определенных столбцов фрейма данных.

Pandas перебирают столбцы

Python Pandas DataFrame состоит из строк и столбцов, поэтому для итерации DataFrame мы должны выполнять итерацию DataFrame как словаря. В словаре мы перебираем ключи объекта так же, как и в Dataframe.

В Pandas Dataframe мы можем перебирать элемент двумя способами:

  1. Итерации по строкам
  2. Итерации по столбцам

Давайте создадим Сначала DataFrame.

 # app.pyimport pandas as pdtigerking = [('Joe', 'Exotic', 7)  , ('Кэрол', 'Баскин', 7), ('Ховард', 'Баскин', 6), ('Джон', 'Финли', 6), ('Бхагаван', 'Антл', 6),]  df = pd.DataFrame (tigerking, columns = ['Имя', 'Фамилия', 'Всего эпизодов']) print (df) 

Вывод

 python3 app.py Имя Фамилия Всего эпизодов0 Джо Экзотик 71 Кэрол Баскин 72 Ховард Баскин 63 Джон Финли 64 Бхагаван Антл 6 

Итерировать столбцы в Dataframe с использованием имен столбцов

DataFrame.columns возвращает последовательность имен столбцов.

Мы можем перебирать эти имена столбцов, и для каждого имени столбца мы можем выбирать содержимое столбца по имени столбца.

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

 # app.pyimport pandas as pdtigerking = [('Joe', 'Exotic', 7), ('Carole', '  Baskin ', 7), (' Howard ',' Baskin ', 6), (' John ',' Finlay ', 6), (' Bhagavan ',' Antle ', 6),] df = pd.DataFrame (тигр  , columns = ['First Name', 'Last Name', 'Total Episodes']) для столбца в df: # Выберите содержимое столбца по имени столбца с помощью оператора [] columnObj = df 
print ( 'Colunm Name:', column) print ('Column Contents:', columnObj.values)

Вывод

 приложение python3  .pyColunm Имя: ИмяСодержание столбца: ['Joe' 'Carole' 'Howard' 'John' 'Bhagavan'] Имя столбца: ФамилияСодержание столбца: ['Exotic' 'Baskin' 'Baskin' 'Finlay' 'Antle'] Colunm  Название: Всего эпизодов. Содержание столбца: [7 7 6 6 6] 

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

В этом подходе вам не нужно использовать какой-либо метод для итерации столбцов. В следующем подходе мы увидим функцию для итерации столбцов.

Как итерировать столбцы с помощью DataFrame.iteritems ()

Класс DataFrame предоставляет функцию-член iteritems () . Он дает итератор, который можно использовать для перебора всех столбцов фрейма данных.

Для каждого столбца в DataFrame он возвращает итератор в кортеж, содержащий имя столбца и содержимое столбца как Series.

DataFrame iteritems ( ) используется для итератора по парам (имя столбца, серия).

Он выполняет итерацию по столбцам DataFrame , возвращая кортеж с именем столбца и содержимым в виде серии.

Имена столбцов для DataFrame перебираются.

Давайте применим функцию Pandas DataFrame iteritems ().

 # app.pyimport pandas as pdtigerking = [('Joe', 'Exotic', 7), ('Carole', 'Baskin', 7), ('Howard', 'Baskin', 6  ), ('John', 'Finlay', 6), ('Bhagavan', 'Antle', 6),] df = pd.DataFrame (tigerking, columns = ['First Name', 'Last Name', 'Total  Эпизоды ']) для (columnName, columnData) в df.iteritems (): print (' Colunm Name: ', columnName) print (' Column Values: ', columnData.values) 

Вывод

 Имя столбца: Имя Значения столбца: ['Joe' 'Carole' 'Howard' 'John' 'Bhagavan'] Имя столбца: Фамилия Значения столбца: ['  Exotic '' Baskin '' Baskin '' Finlay '' Antle '] Название столбца: Всего эпизодов. Значения столбца: [7 7 6 6 6] 

Здесь вы видите, что мы получаем первый столбец имя, а затем получить список значений этого столбца.

Как перебирать определенные столбцы в DataFrame

Допустим, у нас есть сценарий, в котором мы должны выбрать эти столбцы только из DataFrame, а затем перебрать их. Давайте займемся этой проблемой.

 # app.pyimport pandas as pdtigerking = [('Joe', 'Exotic', 7), ('Carole', 'Baskin', 7), ('Howard  ',' Baskin ', 6), (' John ',' Finlay ', 6), (' Bhagavan ',' Antle ', 6),] df = pd.DataFrame (tigerking, columns = [' First Name ',  'Last Name', 'Total Episodes']) для столбца в df [['First Name', 'Total Episodes']]: # Выберите содержимое столбца по имени столбца с помощью оператора [] columnsObj = df 
print ('Имя столбца:', столбец) print ('Содержимое столбца:', columnsObj.values)

Вывод

 приложение python3. Имя pyColunm: ИмяСодержание столбца: ['Joe' 'Carole' 'Howard' 'John' 'Bhagavan'] Имя столбца: Всего эпизодовСодержание столбца: [7 7 6 6 6] 

Мы выбрали два столбца, а на выходе мы получили два столбца с их значениями.

Итерировать столбцы в кадре данных по индексу с помощью iloc []

Мы можем перебирать столбцы фрейма данных, используя индекс.

Например, мы можем перебирать диапазон, т.е. от 0 до максимального количества столбцов; затем для каждого индекса мы можем выбрать содержимое столбца с помощью iloc [].

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

 # app.pyimport pandas как pdtigerking = [(  'Джо', 'Экзотика', 7), ('Кэрол', 'Баскин', 7), ('Ховард', 'Баскин', 6), ('Джон', 'Финли', 6), ('Бхагаван  ',' Antle ', 6),] df = pd.DataFrame (tigerking, columns = [' First Name ',' Last Name ',' Total Episodes ']) для индекса в диапазоне (df.shape [1]):  print ('Номер столбца:', index) # Выбрать столбец по позиции индекса с помощью iloc [] columnsObj = df.iloc [:, index] print ('Column Contents:', columnsObj.values) 

Вывод

 python3 app.pyНомер столбца: 0Содержание столбца: ['Joe' 'Carole' 'Howard' 'John' 'Bhagavan'] Номер столбца: 1Column  Содержание: ['Exotic' 'Baskin' 'Baskin' 'Finlay' 'Antle'] Номер столбца: 2Содержание столбца: [7 7 6 6 6] 

В приведенном выше коде мы не вывести имя столбца, но вместо этого мы напечатали индекс столбца, а затем содержимое столбца.

Наконец, Pa ndas перебирать столбцы, пример завершен.

См. также

Pandas DataFrame.filter ()

Pandas DataFrame.transpose ()

Pandas DataFrame dropna ()

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