Czy istnieje prosty sposób dodania rekordu/wiersza do numpy recarray bez tworzenia nowego recarray? Powiedzmy, że mam recarray, który ma 1 Gb w pamięci, chcę móc dodać wiersz do niego bez pytona zajmują 2 Gb pamięci tymczasowo.Dodawanie wiersza do numpy recarray
6
A
Odpowiedz
10
Możesz zadzwonić pod numer yourrecarray.resize
z kształtem, który ma jeszcze jeden wiersz, a następnie przypisać do tego nowego wiersza. Oczywiście. numpy
potęga nadal trzeba przeznaczyć całkowicie nową pamięć, czy to po prostu nie ma miejsca na rozbudowę tablicę w miejscu, ale przynajmniej masz szansę! -)
Od przykładem zażądano, tutaj przychodzi, zmodyfikowane z canonical example list ...:
>>> import numpy
>>> mydescriptor = {'names': ('gender','age','weight'), 'formats': ('S1', 'f4', 'f4')}
>>> a = numpy.array([('M',64.0,75.0),('F',25.0,60.0)], dtype=mydescriptor)
>>> print a
[('M', 64.0, 75.0) ('F', 25.0, 60.0)]
>>> a.shape
(2,)
>>> a.resize(3)
>>> a.shape
(3,)
>>> print a
[('M', 64.0, 75.0) ('F', 25.0, 60.0) ('', 0.0, 0.0)]
>>> a[2] = ('X', 17.0, 61.5)
>>> print a
[('M', 64.0, 75.0) ('F', 25.0, 60.0) ('X', 17.0, 61.5)]
Powiązane problemy
- 1. Normalizuj/Standaryzuj numpy recarray
- 2. Jak zmienić typ numpy recarray?
- 3. Jak zrobić numpy recarray z typami danych (datetime, float)?
- 4. Dodawanie nagłówków kolumn/wierszy do Numpy Matrices
- 5. Dodawanie wiersza do MultiIndex DataFrame/Series
- 6. Dynamiczne dodawanie wiersza do priorytetów dataTable
- 7. Dodawanie zdarzenia onclick do wiersza tabeli
- 8. sql dodawanie kolejnych wierszy do każdego wiersza
- 9. Dodawanie argumenty wiersza polecenia do aplikacji VB.Net
- 10. Dodawanie klasy do wiersza ng-grid
- 11. Programowe dodawanie nowego wiersza do podklasy QAbstractListModel
- 12. Dodawanie przycisku do wiersza w jqgrid
- 13. Dodawanie nowego wiersza z PHPExcel?
- 14. Dostęp do kolumn tablicy rekordów NumPy w Cython
- 15. Tablica 2D Numpy Odejmowanie według wiersza
- 16. Dodawanie macierzy bardzo powtarzalnej do rzadkiej w numpy/scipy?
- 17. Dodawanie macierzy 1-D do macierzy 3-D w Numpy
- 18. Dodawanie kanału alfa do macierzy RGB przy użyciu numpy
- 19. dodawanie numpy tablic o różnych kształtach
- 20. NumPy odejmowanie każdego wiersza macierzy przez wektor
- 21. Dodawanie słoika do ścieżki klasy podczas uruchamiania z wiersza polecenia
- 22. Automatyczne dodawanie nowego wiersza do tabeli podczas edycji ostatniego
- 23. Dodawanie kolumn i wierszy do wiersza tablelayoutpanel dynamicznie
- 24. Dodawanie przycisku do każdego wiersza w widoku listy
- 25. Dodawanie pól wyboru do każdego wiersza w tabeli MVCcontrib
- 26. pyton skonstruowany/recarray zachowanie typu konwersja
- 27. Dodawanie nowego wiersza/znacznika break w XML
- 28. Aplikacja funkcji za pomocą wiersza/kolumny macierzy numpy
- 29. Python/Numpy - Zapisz tablicę z tytułami kolumny i wiersza
- 30. Wstawianie wiersza w określonej lokalizacji w tablicy 2d w numpy?
Czy możesz pokazać jakiś kod demonstracyjny? Moja próba wywołania arr.resize() zakończyła się ValueError: nie można zmienić rozmiaru tej tablicy: nie ma ona swoich danych – unutbu
@unutbu, pewnie, edytowana odpowiedź na dostarczenie prostego przykładu. Możesz napotkać problemy omówione w tym wątku: http://aspn.activestate.com/ASPN/Mail/Message/numpy-discussion/3042521 - wtedy możesz je naprawić, jak wspomina Travis Oliphant, dodając refcheck = 0 argumentu wywołania zmiany rozmiaru (chyba, że HAVE udostępnił dane, w takim przypadku nie można już zmienić rozmiaru w miejscu (uwaga, że to, co Travis wspomina jako cechę SVN głowy numpy, było częścią regularnie wydawanego numpy dla już dawno - ten wątek ma 3+ lat ;-) –
Dziękuję! a.resize (3, refcheck = 0) zrobiła to dla mnie – unutbu