数据框列切片,不包括特定列

时间:2016-09-27 17:59:47

标签: python pandas dataframe slice

如何用大量列切片pandas数据帧,我不希望选择特定和非顺序定位的列?一种选择是删除特定列,但我可以执行以下操作:

df = pd.DataFrame(np.random.randint(0,100,(2,10)),columns=list('abcdefghij'))
df.iloc[:,~[1,4,9]]

1 个答案:

答案 0 :(得分:1)

你可以这样做:

In [66]: cols2exclude = [1,4,9]

In [67]: df.iloc[:, df.columns.difference(df.columns[cols2exclude])]
Out[67]:
    a   c   d   f   g   h   i
0  12  37  39  46  22  71  37
1  72   3  17  30  11  26  73

或:

In [68]: df.iloc[:, ~df.columns.isin(df.columns[cols2exclude])]
Out[68]:
    a   c   d   f   g   h   i
0  68  49  90   9  48  36  26
1   6  72  98  49  44  10  36