Dataframe.resample () funciona apenas com dados de série temporal. Não consigo encontrar uma maneira de obter cada enésima linha de dados que não sejam da série temporal. Qual é o melhor método?
python
pandas
resampling
Mixel
fonte
fonte
df.iloc[1::5, :]
.df.iloc[::5]
Embora a resposta aceita de @chrisb responda à pergunta, eu gostaria de acrescentar o seguinte.
Um método simples que uso para obter os
nth
dados ou eliminar anth
linha é o seguinte:Esta amostragem baseada em aritmética tem a capacidade de permitir seleções de linhas ainda mais complexas.
Isso pressupõe , é claro, que você tenha uma
index
coluna de inteiros ordenados e consecutivos começando em 0.fonte
Existe uma solução ainda mais simples para a resposta aceita que envolve invocar diretamente
df.__getitem__
.Por exemplo, para obter a cada 2 linhas, você pode fazer
Há também
GroupBy.first
/GroupBy.head
, você agrupa no índice:O índice é dividido no solo pela passada (2, neste caso). Se o índice não for numérico, faça
fonte
Eu tinha um requisito semelhante, mas queria o enésimo item em um grupo específico. Foi assim que resolvi.
fonte