wie konvertiert pandas-Serie um ein Tupel aus index und Wert
Ich bin auf der Suche nach einem effizienten Weg, um zu konvertieren eine Reihe, um ein Tupel aus dem index, die mit den Werten.
s = pd.Series([1, 2, 3], ['a', 'b', 'c'])
Möchte ich ein array, Liste, Reihe, einige iterierbar:
[(1, 'a'), (2, 'b'), (3, 'c')]
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nun, es scheint einfach
zip(s,s.index)
funktioniert auch!Python-3.x, wir müssen, wickeln Sie es mit
list
-Erhalten ein Tupel von Tupeln verwenden
tuple()
:tuple(zip(s,s.index))
.Probe Gefahren -
list(zip(s,s.index))
andernfalls erhalten Sie eine zip-Objekt in Python ist3tuple
Eine Möglichkeit ist, tauschen Sie die Reihenfolge des index der Elemente und die Werte aus
iteritems
:EDIT: @Divakar die Antwort ist schneller, etwa um den Faktor 2. Bau einer Reihe von der zufällige Zeichenfolgen für die Prüfung:
Timings:
s.items()
oders.iteritems()
tun.(Wenn Sie möchten, um die Ausgabe als Liste statt einen iterator
list(s.items())
)