Pandas: Select Two Columns from a Dataframe (Examples)

There are at least 3 methods to select 2 or more than 2 columns from a dataframe in Python.

Method 1: Use a list of column names

df[ [ "col1", "col2" ] ]

Method 2: Use a range of column index

df.iloc [ : , 0 : 2 ]

Method 3: Use specific column indexes

df.iloc [ : , [ 0, 1] ]


Example for method 1

The following uses df[["col1", "col2"]] to select two columns from a Pandas dataframe.

import pandas as pd

# Create a dataframe
car_data = {'Brand': ['Tesla', 'Tesla','Tesla','Ford','Ford'], 
     'Location': ['CA', 'CA','NY','MA','CA'],
    'Year':['2019','2018','2020','2019','2019']}
car_data=pd.DataFrame(data=car_data)

#print out the original dataframe
print('Original Dataframe: \n', car_data)

# subset first two columns
selected_columns=car_data[['Brand','Location']]

# print out the selected columns
print('Selected columns: \n', selected_columns)

The following is the output, showing the original dataframe and the selected two columns.

Original Dataframe: 
    Brand Location  Year
0  Tesla       CA  2019
1  Tesla       CA  2018
2  Tesla       NY  2020
3   Ford       MA  2019
4   Ford       CA  2019

Selected columns: 
    Brand Location
0  Tesla       CA
1  Tesla       CA
2  Tesla       NY
3   Ford       MA
4   Ford       CA

Example for method 2

The following uses df.iloc[[:,0:2]] to select two columns from a Pandas dataframe.

import pandas as pd

# Create a dataframe
car_data = {'Brand': ['Tesla', 'Tesla','Tesla','Ford','Ford'], 
     'Location': ['CA', 'CA','NY','MA','CA'],
    'Year':['2019','2018','2020','2019','2019']}
car_data=pd.DataFrame(data=car_data)

#print out the original dataframe
print('Original Dataframe: \n', car_data)

# subset first two columns using iloc[]
selected_columns=car_data.iloc[:,0:2]

# print out the selected columns
print('Selected columns: \n', selected_columns)

The following is the output, showing the original dataframe and the selected two columns using iloc[].

Original Dataframe: 
    Brand Location  Year
0  Tesla       CA  2019
1  Tesla       CA  2018
2  Tesla       NY  2020
3   Ford       MA  2019
4   Ford       CA  2019

Selected columns: 
    Brand Location
0  Tesla       CA
1  Tesla       CA
2  Tesla       NY
3   Ford       MA
4   Ford       CA

Example of method 3

The following uses df.iloc[[:,[0,1]]] to select two columns in Python.

import pandas as pd

# Create a dataframe
car_data = {'Brand': ['Tesla', 'Tesla','Tesla','Ford','Ford'], 
     'Location': ['CA', 'CA','NY','MA','CA'],
    'Year':['2019','2018','2020','2019','2019']}
car_data=pd.DataFrame(data=car_data)

#print out the original dataframe
print('Original Dataframe: \n', car_data)

# subset first two columns using iloc[]
selected_columns=car_data.iloc[:,[0,1]]

# print out the selected columns
print('Selected two columns: \n', selected_columns)

The following shows the original dataframe and the selected two columns.

Original Dataframe: 
    Brand Location  Year
0  Tesla       CA  2019
1  Tesla       CA  2018
2  Tesla       NY  2020
3   Ford       MA  2019
4   Ford       CA  2019

Selected two columns: 
    Brand Location
0  Tesla       CA
1  Tesla       CA
2  Tesla       NY
3   Ford       MA
4   Ford       CA

Further Reading