Numpy çok baskı.dizi
Yazdırma biçimlendirilmiş numpy için herhangi bir yol olup olmadığını merak ediyorum.diziler, örneğin, şuna benzer:
x = 1.23456
print '%.3f' % x
Eğer istersem numpy baskı.yüzen dizi, birkaç ondalık yazdırır, sık sık 'bilimsel' bile düşük boyutlu diziler için oldukça zor olan format. Ancak, numpy.dizi anlaşılan %s ile string olarak, yani, basılı olmalıdır. Bu amaç için herhangi bir çözüm var mı?
CEVAP
set_printoptions
çıkış hassasiyeti ayarlamak için kullanabilirsiniz:
import numpy as np
x=np.random.random(10)
print(x)
# [ 0.07837821 0.48002108 0.41274116 0.82993414 0.77610352 0.1023732
# 0.51303098 0.4617183 0.33487207 0.71162095]
np.set_printoptions(precision=3)
print(x)
# [ 0.078 0.48 0.413 0.83 0.776 0.102 0.513 0.462 0.335 0.712]
Ve suppress
küçük sayılar için bilimsel gösterimi kullanma bastırır:
y=np.array([1.5e-10,1.5,1500])
print(y)
# [ 1.500e-10 1.500e 00 1.500e 03]
np.set_printoptions(suppress=True)
print(y)
# [ 0. 1.5 1500. ]
Diğer seçenekler için docs for set_printoptions bkz.
Yazdırma seçenekleri yerel olarak uygulamak için, contextmanager: bir kullanabilirsiniz
import numpy as np
import contextlib
@contextlib.contextmanager
def printoptions(*args, **kwargs):
original = np.get_printoptions()
np.set_printoptions(*args, **kwargs)
yield
np.set_printoptions(**original)
with-suite
precision=3
içeride örneğin, suppress=True
ayarlanır:
x = np.random.random(10)
with printoptions(precision=3, suppress=True):
print(x)
# [ 0.073 0.461 0.689 0.754 0.624 0.901 0.049 0.582 0.557 0.348]
Ama with-suite
dış yazdırma seçeneklerini varsayılan ayarlarına geri döndü:
print(x)
# [ 0.07334334 0.46132615 0.68935231 0.75379645 0.62424021 0.90115836
# 0.04879837 0.58207504 0.55694118 0.34768638]
Yüzer sonuna şeritli gelen sıfırlar önlemek için:
np.set_printoptions
şimdi her türü için format işlevini belirtmek için izin verir formatter
bir parametre vardır.
np.set_printoptions(formatter={'float': '{: 0.3f}'.format})
print(x)
yazdıran
[ 0.078 0.480 0.413 0.830 0.776 0.102 0.513 0.462 0.335 0.712]
yerine
[ 0.078 0.48 0.413 0.83 0.776 0.102 0.513 0.462 0.335 0.712]
Numpy çok baskı.dizi...
Numpy dizi vs asarray...
C - Nasıl baskı (print kullanarak) bir...
numpy dizi değeri en yakın bul...
Nasıl 2D int numpy dizi için 2D şamand...