Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to select columns from dataframe by regex

I have a dataframe in python pandas. The structure of the dataframe is as the following:

   a    b    c    d1   d2   d3     10   14   12   44  45    78 

I would like to select the columns which begin with d. Is there a simple way to achieve this in python .

like image 870
Yan Song Avatar asked Jun 12 '15 16:06

Yan Song


People also ask

How do I select a column in a DataFrame?

Use DataFrame. loc[] and DataFrame. iloc[] to select a single column or multiple columns from pandas DataFrame by column names/label or index position respectively. where loc[] is used with column labels/names and iloc[] is used with column index/position.

How do I select selective columns in Pandas?

Selecting columns based on their name This is the most basic way to select a single column from a dataframe, just put the string name of the column in brackets. Returns a pandas series. Passing a list in the brackets lets you select multiple columns at the same time.

Can you use regex in Pandas?

A regular expression (regex) is a sequence of characters that define a search pattern. To filter rows in Pandas by regex, we can use the str. match() method.


1 Answers

You can use DataFrame.filter this way:

import pandas as pd  df = pd.DataFrame(np.array([[2,4,4],[4,3,3],[5,9,1]]),columns=['d','t','didi']) >>    d  t  didi 0  2  4     4 1  4  3     3 2  5  9     1  df.filter(regex=("d.*"))  >>    d  didi 0  2     4 1  4     3 2  5     1 

The idea is to select columns by regex

like image 58
farhawa Avatar answered Oct 19 '22 22:10

farhawa