检索除一个指定列之外的所有DataFrame
有没有办法select一个pandasDataFrame对象中的所有列,但只有一列? 我已经看到删除列的方法,但我不想这样做。
使用drop
方法:
df.drop(column_name, axis=1)
df.ix[:, df.columns != col]
其中col
是要省略的列的名称。
你可以select你想要的列而不删除或删除:
collist = ['col1', 'col2', 'col3'] df1 = df[collist]
只要通过你想要的列的列表
您也可以检索列的列表,然后从列表中select
collist = df.columns.tolist() # you can now select from this list any arbritrary range df1 = df[collist[0:1]] # or remove a column collist.remove('col2') # now select df1 = df[collist] # df1 will now only have 'col1' and 'col3'
你可以使用numpy来构build一个蒙版:
import numpy as np columns = df.columns mask = np.ones(columns.shape, dtype=bool) i = 4 #The specified column that you don't want to show mask[i] = 0 df[columns[mask]]
df[ df.columns[df.columns!='not_this_column'] ]