Pandas Dataframe选择多个不连续的列/切片

lig*_*nin 4 python slice pandas

我有大于100列的数据框.我想选择0~32和#83列.看起来1切片可以正常使用下面的代码.

df_new = df[df.columns[0:32]]
Run Code Online (Sandbox Code Playgroud)

但它不适用于下面的2个切片代码.我该如何解决这个问题?

df_new = df[df.columns[0:32, 83]]
Run Code Online (Sandbox Code Playgroud)

cs9*_*s95 7

np.r_结合使用索引器iloc,如下所示:

df.iloc[:, np.r_[0:32, 83]]
Run Code Online (Sandbox Code Playgroud)
np.r_[0:32, 83]

array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 83])
Run Code Online (Sandbox Code Playgroud)

  • @DavidParks,我很惊讶这没有得到更好的支持,但在这里你可以: `c = df.shape[1]; df.iloc[:, np.r_[0, nc-3:nc]]` (2认同)