comment convertir des pandas série de n-uplet de l'index et la valeur
Je suis à la recherche d'un moyen efficace pour convertir une série à un n-uplet de son index avec ses valeurs.
s = pd.Series([1, 2, 3], ['a', 'b', 'c'])
Je veux un tableau, une liste, de série, certains itératif:
[(1, 'a'), (2, 'b'), (3, 'c')]
OriginalL'auteur piRSquared | 2016-07-19
Vous devez vous connecter pour publier un commentaire.
Ainsi, il semble tout simplement
zip(s,s.index)
travaille trop!Pour Python 3.x, nous avons besoin de l'envelopper avec
list
-Pour obtenir un tuple de tuples, utilisez
tuple()
:tuple(zip(s,s.index))
.Exemple d'exécution -
list(zip(s,s.index))
sinon vous avez un zip objet dans python3cela renvoie d'un zip objet qu'il est demandé à un
tuple
Au moment de la publication, j'ai eu accès à Python-2, donc raté. Édité pour corriger pour python3 scénario.
OriginalL'auteur Divakar
Une possibilité consiste à inverser l'ordre de l'index des éléments et les valeurs de
iteritems
:EDIT: @Divakar la réponse est plus rapide d'environ un facteur 2. La construction d'une série des chaînes aléatoires pour les essais de:
Horaires:
OriginalL'auteur abeboparebop
s.items()
ous.iteritems()
ce faire.(Si vous voulez obtenir le résultat sous la forme d'une liste plutôt qu'un itérateur
list(s.items())
)OriginalL'auteur smci