Zastanawiam się, jak poprawnie zapisać i załadować dane numpy.array
. Obecnie używam metody numpy.savetxt()
. Na przykład, jeśli mam tablicę markers
, który wygląda tak:Jak poprawnie zapisać i załadować dane numpy.array()?
próbuję zapisać go przez zastosowanie:
numpy.savetxt('markers.txt', markers)
w innych skrypt próbuję otworzyć zapisany wcześniej plik:
markers = np.fromfile("markers.txt")
A to co mam ...
danych zapisanych pierwszy wygląda następująco:
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
Ale kiedy zapisać tylko załadowane dane przy użyciu tej samej metody, tj. numpy.savetxt()
Wygląda to tak:
1.398043286095131769e-76
1.398043286095288860e-76
1.396426376485745879e-76
1.398043286055061908e-76
1.398043286095288860e-76
1.182950697433698368e-76
1.398043275797188953e-76
1.398043286095288860e-76
1.210894289234927752e-99
1.398040649781712473e-76
Co robię źle? PS nie ma żadnej innej "backstage" operacji, którą wykonuję. Po prostu zapisuję i ładuję, i to właśnie dostaję. Z góry dziękuję.
Jaki jest wynik pliku tekstowego? Dlaczego po prostu nie pisać do pliku CSV? –
Czy trzeba zapisywać i ładować jako pliki tekstowe czytelne dla człowieka? Będzie szybciej (a pliki będą bardziej kompaktowe), jeśli zapisujesz/ładujesz pliki binarne używając 'np.save()' i 'np.load()'. –
Dziękuję za poradę. Pomogło. Czy możesz jednak wyjaśnić, dlaczego tak właśnie jest i czy istnieje sposób na zapisywanie danych w formacie * .txt i ładowanie go bez bólu głowy? Na przykład, gdy chce się pracować z Matlab, Java lub innymi narzędziami/językami. – bluevoxel