Перейти к содержимому

Df iloc python как работает

  • автор:

pandas.DataFrame.iloc#

Purely integer-location based indexing for selection by position.

Deprecated since version 2.2.0: Returning a tuple from a callable is deprecated.

.iloc[] is primarily integer position based (from 0 to length-1 of the axis), but may also be used with a boolean array.

Allowed inputs are:

  • An integer, e.g. 5 .
  • A list or array of integers, e.g. [4, 3, 0] .
  • A slice object with ints, e.g. 1:7 .
  • A boolean array.
  • A callable function with one argument (the calling Series or DataFrame) and that returns valid output for indexing (one of the above). This is useful in method chains, when you don’t have a reference to the calling object, but would like to base your selection on some value.
  • A tuple of row and column indexes. The tuple elements consist of one of the above inputs, e.g. (0, 1) .

.iloc will raise IndexError if a requested indexer is out-of-bounds, except slice indexers which allow out-of-bounds indexing (this conforms with python/numpy slice semantics).

Fast integer location scalar accessor.

Purely label-location based indexer for selection by label.

Purely integer-location based indexing for selection by position.

>>> mydict = ['a': 1, 'b': 2, 'c': 3, 'd': 4>, . 'a': 100, 'b': 200, 'c': 300, 'd': 400>, . 'a': 1000, 'b': 2000, 'c': 3000, 'd': 4000>] >>> df = pd.DataFrame(mydict) >>> df a b c d 0 1 2 3 4 1 100 200 300 400 2 1000 2000 3000 4000 

Indexing just the rows

With a scalar integer.

>>> type(df.iloc[0]) >>> df.iloc[0] a 1 b 2 c 3 d 4 Name: 0, dtype: int64 

With a list of integers.

>>> df.iloc[[0]] a b c d 0 1 2 3 4 >>> type(df.iloc[[0]])

>>> df.iloc[[0, 1]] a b c d 0 1 2 3 4 1 100 200 300 400 

With a slice object.

>>> df.iloc[:3] a b c d 0 1 2 3 4 1 100 200 300 400 2 1000 2000 3000 4000 

With a boolean mask the same length as the index.

>>> df.iloc[[True, False, True]] a b c d 0 1 2 3 4 2 1000 2000 3000 4000 

With a callable, useful in method chains. The x passed to the lambda is the DataFrame being sliced. This selects the rows whose index label even.

>>> df.iloc[lambda x: x.index % 2 == 0] a b c d 0 1 2 3 4 2 1000 2000 3000 4000 

Indexing both axes

You can mix the indexer types for the index and columns. Use : to select the entire axis.

With scalar integers.

>>> df.iloc[0, 1] 2 

With lists of integers.

>>> df.iloc[[0, 2], [1, 3]] b d 0 2 4 2 2000 4000 

With slice objects.

>>> df.iloc[1:3, 0:3] a b c 1 100 200 300 2 1000 2000 3000 

With a boolean array whose length matches the columns.

>>> df.iloc[:, [True, False, True, False]] a c 0 1 3 1 100 300 2 1000 3000 

With a callable function that expects the Series or DataFrame.

>>> df.iloc[:, lambda df: [0, 2]] a c 0 1 3 1 100 300 2 1000 3000 

Как получить значение ячейки из Pandas DataFrame

Вы можете использовать следующий синтаксис, чтобы получить значение ячейки из кадра данных pandas:

#iloc method df.iloc [0]['column_name'] #at method df.at [0,' column_name'] #values method df['column_name']. values [0] 

Обратите внимание, что все три метода возвращают одно и то же значение.

В следующих примерах показано, как использовать каждый из этих методов со следующими пандами DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12 

Метод 1: получить значение ячейки с помощью функции iloc

В следующем коде показано, как использовать функцию .iloc для получения различных значений ячеек в кадре данных pandas:

#get value in first row in 'points' column df.iloc [0]['points'] 25 #get value in second row in 'assists' column df.iloc [1]['assists'] 7 

Метод 2: получить значение ячейки с помощью функции at

В следующем коде показано, как использовать функцию .at для получения различных значений ячеек в кадре данных pandas:

#get value in first row in 'points' column df.at [0, 'points'] 25 #get value in second row in 'assists' column df.at [1, 'assists'] 7 

Метод 3: получить значение ячейки, используя функцию значений

В следующем коде показано, как использовать функцию .values для получения различных значений ячеек в кадре данных pandas:

#get value in first row in 'points' column df['points']. values [0] 25 #get value in second row in 'assists' column df['assists']. values [1] 7 

Обратите внимание, что все три метода возвращают одни и те же значения.

pandas.DataFrame.iloc¶

Purely integer-location based indexing for selection by position.

.iloc[] is primarily integer position based (from 0 to length-1 of the axis), but may also be used with a boolean array.

Allowed inputs are:

  • An integer, e.g. 5 .
  • A list or array of integers, e.g. [4, 3, 0] .
  • A slice object with ints, e.g. 1:7 .
  • A boolean array.
  • A callable function with one argument (the calling Series, DataFrame or Panel) and that returns valid output for indexing (one of the above)

.iloc will raise IndexError if a requested indexer is out-of-bounds, except slice indexers which allow out-of-bounds indexing (this conforms with python/numpy slice semantics).

Что такое iloc pandas и как это работает?

iloc в pandas — это метод, который позволяет выбирать и обращаться к данным в DataFrame по их позиции в индексе или столбцах.

import pandas as pd # Создаем пример DataFrame df = pd.DataFrame() # Используем метод iloc для выбора определенных строк и столбцов # Выбираем первую строку и второй столбец selected_data = df.iloc[0, 1] # Выводим выбранные данные print(selected_data)

В данном примере мы создаем DataFrame с тремя столбцами (A, B, C). С использованием метода iloc мы выбираем первую строку и второй столбец, и выводим выбранные данные. В результате получаем значение 5.

Детальный ответ

iloc pandas – что это?

Метод iloc в библиотеке Pandas является мощным инструментом для индексации и выбора данных из DataFrame. Он позволяет осуществлять выборку по числовым позиционным индексам, в отличие от метода loc, который работает с метками строк и столбцов.

Синтаксис

dataframe.iloc[строки, столбцы]

Здесь dataframe — это DataFrame, а строки и столбцы — это индексы, по которым мы хотим выбрать данные. Можно передавать как отдельное значение, так и срезы значений.

Примеры использования

1. Выборка по одному столбцу:
import pandas as pd data = df = pd.DataFrame(data) # Выборка по числовому индексу столбца selected_column = df.iloc[:, 1] print(selected_column)

В данном примере мы используем iloc[:, 1] для выборки всего столбца ‘Возраст’ по его числовому индексу 1. Результатом будет Series с данными столбца ‘Возраст’.

2. Выборка по нескольким столбцам:
import pandas as pd data = df = pd.DataFrame(data) # Выборка по числовым индексам столбцов selected_columns = df.iloc[:, [0, 2]] print(selected_columns)

В данном примере мы используем iloc[:, [0, 2]] для выборки столбцов с числовыми индексами 0 и 2. Результатом будет DataFrame, содержащий только столбцы ‘Имя’ и ‘Зарплата’.

3. Выборка по числовым индексам строк:
import pandas as pd data = df = pd.DataFrame(data) # Выборка по числовым индексам строк selected_rows = df.iloc[[1, 2], :] print(selected_rows)

В этом примере мы используем iloc[[1, 2], :] для выборки строк с числовыми индексами 1 и 2. Результатом будет DataFrame, содержащий только строки со второго и третьего индекса. Метод iloc также позволяет комбинировать выборку строк и столбцов, используя числовые индексы:

import pandas as pd data = df = pd.DataFrame(data) # Выборка по числовым индексам строк и столбцов selected_data = df.iloc[[0, 2], [1, 2]] print(selected_data)

Заключение

Метод iloc предоставляет возможность выбирать данные из DataFrame по числовым позиционным индексам строк и столбцов. Он полезен при необходимости работы с большими объемами данных и применении различных фильтров или срезов. Помните, что операции в iloc индексируются с нуля, поэтому первая строка или столбец имеют индекс 0.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *