Что такое питоновский способ срезать блок данных по большему количеству диапазонов индексов (например, 10:12
и 25:28
)? Я хочу это в более изящным способом:Python pandas slice dataframe по нескольким диапазонам индексов
df = pd.DataFrame({'a':range(10,100)})
df.iloc[[i for i in range(10,12)] + [i for i in range(25,28)]]
Результат:
a
10 20
11 21
25 35
26 36
27 37
Нечто подобное было бы более элегантно:
df.iloc[(10:12, 25:28)]
Спасибо!
Это не получается более кратким, чем это. 'np.r_' был создан именно для этой цели. И я кое-что узнал. Жаль, что я не мог +2. – piRSquared
Следует отметить одно: чтобы получить отрицательную индексацию (т. Е. Эквивалент 'df.iloc [-2:]'), вы должны включить нуль: 'df.iloc [pd.np.r _ [: 2, -2: 0]] ' –