Poszukuje szybkiego sposobu na dodanie wiersza w ramce danych pandy do uporządkowanego dict bez użycia listy. Lista jest w porządku, ale z dużymi zbiorami danych może potrwać długo. Używam czytnika Fiona GIS, a wiersze są uporządkowane z schematem podającym typ danych. Używam pand do łączenia danych. W wielu przypadkach wiersze będą miały różne typy, więc pomyślałem zamienienie w tablicę numpy z ciągiem znaków, która może załatwić sprawę.Jak zamienić wiersz danych pandy na uporządkowany dokument Szybki
10
A
Odpowiedz
16
Niestety nie można po prostu zrobić zastosowania (ponieważ wpisuje się go z powrotem do DataFrame):
In [1]: df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])
In [2]: df
Out[2]:
a b
0 1 2
1 3 4
In [3]: from collections import OrderedDict
In [4]: df.apply(OrderedDict)
Out[4]:
a b
0 1 2
1 3 4
Ale można użyć wyrażeń listowych z iterrows:
In [5]: [OrderedDict(row) for i, row in df.iterrows()]
Out[5]: [OrderedDict([('a', 1), ('b', 2)]), OrderedDict([('a', 3), ('b', 4)])]
jeśli to można użyć generatora, a nie listy, do tego, z czym pracowałeś, zwykle będzie bardziej wydajny:
In [6]: (OrderedDict(row) for i, row in df.iterrows())
Out[6]: <generator object <genexpr> at 0x10466da50>
4
ten jest realizowany w pandas 0.21.0+
w funkcji to_dict
parametrem into
:
df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])
print (df)
a b
0 1 2
1 3 4
d = df.to_dict(into=OrderedDict, orient='index')
print (d)
OrderedDict([(0, OrderedDict([('a', 1), ('b', 2)])), (1, OrderedDict([('a', 3), ('b', 4)]))])
Powiązane problemy
- 1. Jak zamienić wiersz danych pandy na ciąg rozdzielany przecinkami
- 2. Jak zamienić na wartości indeksu i pandy dataframe
- 3. Jak usunąć bieżący wiersz w ramce danych pandy podczas df.iterrows()
- 4. Jak zamienić StringBufferInputStream na StringReader?
- 5. Jak usunąć wiersz z ramki danych pandy na podstawie długości wartości kolumny?
- 6. Zastosuj funkcję wiersz mądry na ramce danych Pandy na kolumnach z wartościami liczbowymi
- 7. Pandy: przekształcanie danych
- 8. Jak zrobić uporządkowany słownik z listy list?
- 9. Jak zamienić wartość NaN na zero w ogromnej ramce danych?
- 10. Czy PHP ma uporządkowany słownik?
- 11. pandy: zestaw wartości z (wiersz, kol) wskaźników
- 12. Szybki sposób porównywania danych wejściowych
- 13. Jak zamienić na spację?
- 14. Jak zamienić window.open (...) na POST
- 15. Pandy usuwanie wiersz z df.drop nie działa
- 16. kreślenie ułożonych prętów na ramce danych pandy
- 17. Pandy powolne na ramce danych zastępują
- 18. Zmień Pandy indeks typ danych na MultiIndex
- 19. jaki jest szybki sposób upuszczania kolumn w ramce danych pandy z listy nazw kolumn
- 20. UNPIVOT Pandy danych
- 21. Pandy: unikalna ramka danych
- 22. szybki sposób edytować n-ty wiersz wyjścia poprzedniego polecenia
- 23. Jak wektorować Obliczenia Pandy oparte na ostatnich x wierszy danych
- 24. Przenośny/szybki sposób na uzyskanie wskaźnika do danych Numpy/Numpypy
- 25. Konwersja ramek danych pandy na iskrową ramkę danych w zeppelinie
- 26. Konwersja ramki danych Pandy na błąd w ramce danych Spark
- 27. Pandy: jak szybciej wnioskować o ramkę danych?
- 28. Jak dodać wiersz na górze ramki danych R
- 29. jak podzielić kolumnę krotek w ramce danych pandy?
- 30. Pandy: Przesunięcie wartości o jeden wiersz w grupie