Ostatnio utknąłem, próbując znaleźć eleganckie rozwiązanie następującego problemu:

Mam obiekt serii (pandas.core.series.Series) z następującymi wartościami (np.) -

{1,43234,2,653543,3,436546}

Mam inne źródło danych, na którym chcę iterować, i w tym celu chciałbym utworzyć słownik poza serią o następującym formacie -

{1:43234,2:653543,3:436546}

Używanie funkcji .to_dict jest nieodpowiednie, ponieważ automatycznie generuje klucze.

Czy ktoś może zaproponować pomysł?

Z góry dziękuję!

0
dear_tzvi 20 listopad 2019, 16:12
2
{k:v for k, v in zip(s[::2], s[1::2])} ...?
 – 
Chris A
20 listopad 2019, 16:15
Więc chcesz, aby nieparzyste indeksy były twoimi kluczami, a nawet indeksy były twoimi wartościami?
 – 
Juan C
20 listopad 2019, 16:15

1 odpowiedź

W przypadku dowolnej indeksowalnej iteracji - jestem prawie pewien, że pd.Series ma zastosowanie - możesz przekonwertować coś w rodzaju [key, value, key, value, key, value] na dict, zapinając plasterki krokiem:

>>> a = [1,43234,2,653543,3,436546]
>>> dict(zip(a[::2], a[1::2]))
{1: 43234, 2: 653543, 3: 436546}
2
AKX 20 listopad 2019, 16:16