Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

python pandas selecting columns from a dataframe via a list of column names

I have a dataframe with a lot of columns in it. Now I want to select only certain columns. I have saved all the names of the columns that I want to select into a Python list and now I want to filter my dataframe according to this list.

I've been trying to do:

df_new = df[[list]]

where list includes all the column names that I want to select.

However I get the error:

TypeError: unhashable type: 'list'

Any help on this one?

like image 584
AaronDT Avatar asked Aug 16 '16 07:08

AaronDT


1 Answers

You can remove one []:

df_new = df[list]

Also better is use other name as list, e.g. L:

df_new = df[L]

It look like working, I try only simplify it:

L = []
for x in df.columns: 
    if not "_" in x[-3:]: 
        L.append(x) 
print (L)

List comprehension:

print ([x for x in df.columns if not "_" in x[-3:]])
like image 176
jezrael Avatar answered Oct 24 '22 02:10

jezrael