iloc[] Operator - Teradata Package for Python

Teradata® Package for Python User Guide

Product
Teradata Package for Python
Release Number
17.00
Published
November 2021
Language
English (United States)
Last Update
2022-01-14
dita:mapPath
bol1585763678431.ditamap
dita:ditavalPath
ayr1485454803741.ditaval
dita:id
B700-4006
lifecycle
previous
Product Category
Teradata Vantage

Use the iloc[] operator to access a group of rows and columns by integer values.

The operator takes a single integer, a list of integers, and a slice with integers as valid inputs. It also takes a list of booleans for column access. The list must include a boolean value for each column.

For integer indexing on row access, the integer index values are applied to a sorted teradataml DataFrame on the index column or the first column if there is no index column.

Examples Prerequisite

Assume a teradataml DataFrame "df" is created from a Vantage table "sales" and sorted using commands:

>>> df = DataFrame('sales')
>>> df.sort("accounts")
              Feb   Jan   Mar   Apr    datetime
accounts
Alpha Co    210.0   200   215   250  2017-04-01
Blue Inc     90.0    50    95   101  2017-04-01
Jones LLC   200.0   150   140   180  2017-04-01
Orange Inc  210.0  None  None   250  2017-04-01
Red Inc     200.0   150   140  None  2018-10-15
Yellow Inc   90.0  None  None  None  2017-04-01

Example 1 : Retrieve a row using a single integer value

The following example retrieves a row using a single integer value.
>>> df.iloc[1]
        Feb Jan Mar  Apr    datetime
accounts
Blue Inc  90.0  50  95  101  2017-04-01

Example 2: Retrieve using a list of integers

Using "[[]]" to include a list of integers.
>>> df.iloc[[1, 2]]
            Feb  Jan  Mar  Apr    datetime
accounts
Blue Inc    90.0   50   95  101  2017-04-01
Jones LLC  200.0  150  140  180  2017-04-01

Example 3: Use a single integer for both row and column

>>> df.iloc[5, 0]
Empty DataFrame
Columns: []
Index: [Yellow Inc]
>>> df.iloc[(5, 1)]
    Feb
0  90.0

Example 4: Use a slice for row and a single integer for column access

The stop for the slice is excluded.
>>> df.iloc[2:5, 2]
    Jan
0  None
1   150
2   150

Example 5: Use a slice for row and column access

The stop for the slice is excluded.
>>> df.iloc[2:5, 0:5]
            Mar   Jan    Feb   Apr
accounts
Orange Inc  None  None  210.0   250
Red Inc      140   150  200.0  None
Jones LLC    140   150  200.0   180

Example 6: Use an empty slice for row and column access

>>> df.iloc[:, :]
            Feb   Jan   Mar    datetime   Apr
accounts
Jones LLC   200.0   150   140  2017-04-01   180
Blue Inc     90.0    50    95  2017-04-01   101
Yellow Inc   90.0  None  None  2017-04-01  None
Orange Inc  210.0  None  None  2017-04-01   250
Alpha Co    210.0   200   215  2017-04-01   250
Red Inc     200.0   150   140  2017-04-01  None

Example 7: Use a list of integers and boolean array for column access

>>> df.iloc[[0, 2, 3, 4], [True, True, False, False, True, True]]
            datetime   Apr    Feb
accounts
Jones LLC   2017-04-01   180  200.0
Orange Inc  2017-04-01   250  210.0
Alpha Co    2017-04-01   250  210.0
Red Inc     2017-04-01  None  200.0