Sunday, November 17, 2024
Google search engine
HomeLanguagesHow to take column-slices of DataFrame in Pandas?

How to take column-slices of DataFrame in Pandas?

In this article, we will learn how to slice a DataFrame column-wise in Python. DataFrame is a two-dimensional tabular data structure with labeled axes. i.e. columns.

Creating Dataframe to slice columns

Python3




# importing pandas
import pandas as pd
 
# Using DataFrame() method from pandas module
df1 = pd.DataFrame({"a": [1, 2, 3, 4, 5, 6, 7],
                    "b": [2, 3, 4, 2, 3, 4, 5],
                    "c": [3, 4, 5, 2, 3, 4, 5],
                    "d": [4, 5, 6, 2, 3, 4, 5],
                    "e": [5, 6, 7, 2, 3, 4, 5]})
 
display(df1)


Output:

 

Method 1: Slice Columns in pandas using reindex

Slicing column from ‘c’ to ‘b’.

Python3




df2 = df1.reindex(columns = ['c','b'])
print(df2)


Output:

 

Method 2: Slice Columns in pandas using loc[]

The df.loc[] is present in the Pandas package loc can be used to slice a Dataframe using indexing. Pandas DataFrame.loc attribute accesses a group of rows and columns by label(s) or a boolean array in the given DataFrame.

Syntax: [ : , first : last : step]

Example 1:

Slicing column from ‘b’ to ‘d’ with step 2.

Python3




df2 = df1.loc[:, "b":"d":2]
print(df2)


Output:

 

Example 2:

Slicing column from ‘c’ to ‘e’ with step 1.

Python3




df2 = df1.loc[:, "c":"e":1]
print(df2)


Output:

 

Method 3: Slice Columns in pandas using iloc[]

The iloc is present in the Pandas package. The iloc can be used to slice a Dataframe using indexing. df.iloc[] method is used when the index label of a data frame is something other than numeric series of 0, 1, 2, 3….n or in case the user doesn’t know the index label. Rows can be extracted using an imaginary index position that isn’t visible in the data frame.

Syntax: [ start : stop : step]

Example 1:

Slicing column from ‘1’ to ‘3’ with step 1.

Python3




df2 = df1.iloc[:, 1:3:1]
print(df2)


Output:

 

Example 2:

Slicing column from ‘0’ to ‘3’ with step 2.

Python3




df2 = df1.iloc[:, 0:3:2]
print(df2)


Output:

 

RELATED ARTICLES

Most Popular

Recent Comments