Dataframe.resample () fonctionne uniquement avec les données de séries temporelles. Je ne peux pas trouver un moyen d'obtenir chaque nième ligne à partir de données non chronologiques. Quelle est la meilleure méthode?
python
pandas
resampling
Mixel
la source
la source
df.iloc[1::5, :]
.df.iloc[::5]
Bien que la réponse acceptée par @ chrisb réponde à la question, j'aimerais y ajouter ce qui suit.
Une méthode simple que j'utilise pour obtenir les
nth
données ou supprimer lanth
ligne est la suivante:Cet échantillonnage basé sur l'arithmétique a la capacité de permettre des sélections de lignes encore plus complexes.
Cela suppose , bien sûr, que vous ayez une
index
colonne d' entiers ordonnés, consécutifs, commençant à 0.la source
Il existe une solution encore plus simple à la réponse acceptée qui implique l'invocation directe
df.__getitem__
.Par exemple, pour obtenir toutes les 2 lignes, vous pouvez faire
Il y a aussi
GroupBy.first
/GroupBy.head
, vous groupez sur l'index:L'indice est divisé par le sol par la foulée (2, dans ce cas). Si l'index n'est pas numérique, faites plutôt
la source
J'avais une exigence similaire, mais je voulais le nième article dans un groupe particulier. Voilà comment je l'ai résolu.
la source