Use the loc[] operator to access a group of rows and columns by labels.
The operator takes a single label, a list of column or index labels, and a slice with labels as valid inputs. It also takes a conditional expression for row access and a list of booleans for column access. The list must include a boolean value for each column.
Examples Prerequisite
Assume a teradataml DataFrame "df" is created from a Vantage table "sales", using command:
>>> df = DataFrame('sales') >>> df Feb Jan Mar Apr datetime accounts Blue Inc 90.0 50 95 101 2017-04-01 Alpha Co 210.0 200 215 250 2017-04-01 Jones LLC 200.0 150 140 180 2017-04-01 Yellow Inc 90.0 None None None 2017-04-01 Orange Inc 210.0 None None 250 2017-04-01 Red Inc 200.0 150 140 None 2017-04-01
Example 1: Retrieve a row using a single index label
This example retrieves a row using a single index label "Blue Inc":
>>> df.loc['Blue Inc'] Feb Jan Mar Apr datetime accounts Blue Inc 90.0 50 95 101 2017-04-01
Example 2: Retrieve multiple rows using a list of labels
This example uses a list of labels to retrieve the rows for "Blue Inc" and "Jones LLC":
>>> df.loc[['Blue Inc', 'Jones LLC']] 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: Retrieve using a single index label and a single index column label
This example uses a single index label and a single column label (index column label) for row and column access:
>>> df.loc['Yellow Inc', 'accounts'] Empty DataFrame Columns: [] Index: [Yellow Inc]
Example 4: Retrieve using a single index label and a single non-index column label
This example uses a single index label "Yellow Inc" and a single column label "Feb" (non-index column label) for row and column access:
>>> df.loc['Yellow Inc', 'Feb'] Feb 0 90.0
Example 5: Retrieve using a slice with labels for row access and single label for column access
This example uses a slice with labels for row access and single label for column access:
>>> df.loc['Jones LLC':'Red Inc', 'accounts'] Empty DataFrame Columns: [] Index: [Orange Inc, Jones LLC, Red Inc]
Example 6: Retrieve using a slice with labels for row access and for column access
This example uses a slice with labels for row access and for column access:
>>> df.loc['Jones LLC':'Red Inc', 'accounts':'Apr'] 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 7: Retrieve using an empty slice for row access and for column access
This example uses an empty slice for row access and for column access:
>>> df.loc[:, :] 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 8: Retrieve rows using a conditional expression
This example uses a conditional expression to retrieve rows where the value for "Feb" is greater than 90:
>>> df.loc[df['Feb'] > 90] Feb Jan Mar Apr datetime accounts Jones LLC 200.0 150 140 180 2017-04-01 Red Inc 200.0 150 140 None 2017-04-01 Alpha Co 210.0 200 215 250 2017-04-01 Orange Inc 210.0 None None 250 2017-04-01
Example 9: Retrieve using a conditional expression for row access with multiple column labels for column access
This examples uses a conditional expression for row access with multiple column labels for column access:
>>> df.loc[df['accounts'] == 'Jones LLC', ['accounts', 'Jan', 'Feb']] Jan Feb accounts Jones LLC 150 200.0
Example 10: Retrieve using a conditional expression for row access and boolean array for column access
This example uses a conditional expression for row access and boolean array for column access:
>>> df.loc[df['Feb'] > 90, [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