Выберите несколько диапазонов столбцов в Pandas DataFrame

Мне нужно прочитать несколько файлов в формате Excel, а некоторые - в формате CSV. Некоторые из файлов содержат сотни столбцов.

Есть ли способ выбрать несколько диапазонов столбцов без указания всех имен столбцов или позиций? Например, что-то вроде выбора столбцов 1 -10, 15, 17 и 50-100:

df = df.ix[1:10, 15, 17, 50:100]

Мне нужно знать, как это сделать, создавая фреймворк из файлов Excel и CSV файлов и после создания файлов данных.

Ответ 1

использовать np.r_

np.r_[1:10, 15, 17, 50:100]

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 15, 17, 50, 51, 52, 53, 54, 55,
       56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
       73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
       90, 91, 92, 93, 94, 95, 96, 97, 98, 99])

чтобы вы могли сделать

df.iloc[:, np.r_[1:10, 15, 17, 50:100]]