How to select n rows and n columns of a Pandas DataFrame using Python
• 1 minBeing able to go through rows and columns is crucially important for a Data Scientist.
There is two axis so to say two indexes you can provide to go through a DataFrame.
- Rows
- Columns
And there is one method that can handle everything you need.
The DataFrame.iloc[] method.
And you can use this method to either select a specific row or columns but also ranges.
The same as lists
As you might remember lists can be sliced. e.g.
fruits = ["Apple", "Orange", "Strawberry", "Blueberry"]
# Prints from the index number two to the end
print(fruits[2:]) # ['Strawberry', 'Blueberry']
The DataFrame.iloc[] method can be used the exact same way.
With iloc you will need to pass the row and column slice you want to subselect.
The DataFrame accepts [row, columns] indexes. so to say e.g. df.iloc[2,:] means the row at index 2 and all the columns.
A specific row and column
As you can see in this example we can filter for a specific row and column.
import pandas as pd
import numpy as np
# We create our dataframe
df = pd.DataFrame({"col1": range(0,10),
"col2": range(10,20)})
# We print our dataframe
print(df)
# We print the second row of the second column of our dataframe
print(df.iloc[2,1])
A specific range of rows and columns
We can use the DataFrame.iloc[] slicing method.
import pandas as pd
import numpy as np
# We create our dataframe
df = pd.DataFrame({"col1": range(0,10),
"col2": range(10,20),
"col3": range(20,30)})
# We print our dataframe
print(df)
# We print the 4th row till the sixth of the column index 1 till end (3-6 col2 to col3)
print(df.iloc[3:7,1:])
Here you are! you now know how to select a specific row of DataFrame.
More on fundamentals
If you want to know more about Python fundamentals without headaches... check out the other articles I wrote by clicking just here: