Dataframe.resample () работает только с данными таймсерий. Я не могу найти способ получить каждую n-ю строку из данных вне таймсерий. Какой лучший метод?
python
pandas
resampling
Миксель
источник
источник
df.iloc[1::5, :]
.df.iloc[::5]
Хотя принятый ответ @chrisb действительно отвечает на вопрос, я хотел бы добавить к нему следующее.
Вот простой метод, который я использую для получения
nth
данных или удаленияnth
строки:Эта выборка, основанная на арифметических операциях, позволяет выполнять даже более сложный выбор строк.
При этом , конечно, предполагается , что у вас есть
index
столбец упорядоченных последовательных целых чисел, начинающихся с 0.источник
Существует еще более простое решение принятого ответа, которое включает прямой вызов
df.__getitem__
.Например, чтобы получить каждые 2 строки, вы можете сделать
Также есть
GroupBy.first
/GroupBy.head
, вы группируете по индексу:Индекс делится на пол шагом (в данном случае 2). Если индекс не является числовым, вместо этого выполните
источник
У меня было аналогичное требование, но я хотел, чтобы n-й элемент в определенной группе. Вот как я это решил.
источник