如何用大量列切片pandas数据帧,我不希望选择特定和非顺序定位的列?一种选择是删除特定列,但我可以执行以下操作:
df = pd.DataFrame(np.random.randint(0,100,(2,10)),columns=list('abcdefghij'))
df.iloc[:,~[1,4,9]]
答案 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