2 votes

Confusion avec les pandas Series slicing

J'ai un DataFrame pandas dont une colonne représente la distance parcourue par un taxi. J'utilise value_counts() sur cette colonne afin de voir les distances de voyage les plus courantes.

b = df['trip_distance'].value_counts()

L'objet b est un objet pandas Series. Par souci d'exhaustivité, les 5 premières lignes de cette série sont les suivantes

1.00     21815
0.90     18915
0.80     18449
1.10     18263
1.20     17823

Ce qui signifie que la distance de déplacement la plus courante est 1, et qu'elle apparaît 21815 fois et de même pour le reste.

Cependant, si je tape b[0:4] au lieu d'imprimer les 4 premiers éléments de cette série, il trouve l'élément qui correspond à 0 et commence à imprimer toutes les distances de déplacement jusqu'à ce qu'il atteigne la distance de déplacement 4. Bien entendu, si le trajet 4 précède le trajet 0, elle renvoie une série vide.

Néanmoins, lorsque je l'essaie sur un Series personnalisé

a = pd.Series([3, 1, 2, 3, 4, 4, 5]).value_counts()

Impression a donne

 4    2
 3    2
 5    1
 2    1
 1    1

et quand j'essaie de découper cette série, c'est-à-dire quand je tape a[0, 3] J'obtiens le résultat attendu

4    2
3    2
5    1

Quelqu'un sait-il pourquoi cela se produit ? Je sais que cela peut être fait avec iloc/loc, je suis juste curieux de savoir pourquoi le découpage fonctionne dans une liste mais pas dans l'autre.

Merci d'avance.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X