2017-06-24 66 views
-1

我是Python 3新手。如何在Python 3中打印numpy 2d數組?

我的代碼如下,我不知道如何解決這個問題。

test = np.random.randn(10) 
print (test) 

TypeError: '>' not supported between instances of 'int' and 'str' 

(+) 我已經導入numpy的,並且詳細的錯誤味精以下。

TypeError       Traceback (most recent call last) 
<ipython-input-13-3e506a0fbc4a> in <module>() 
     1 test=np.random.randn(10) 
----> 2 print(test) 

/usr/local/lib/python3.6/site-packages/numpy/core/numeric.py in array_str(a, max_line_width, precision, suppress_small) 
    1937 
    1938  """ 
-> 1939  return array2string(a, max_line_width, precision, suppress_small, ' ', "", str) 
    1940 
    1941 

/usr/local/lib/python3.6/site-packages/numpy/core/arrayprint.py in wrapper(self, *args, **kwargs) 
    386    repr_running.add(key) 
    387    try: 
--> 388     return f(self, *args, **kwargs) 
    389    finally: 
    390     repr_running.discard(key) 

/usr/local/lib/python3.6/site-packages/numpy/core/arrayprint.py in array2string(a, max_line_width, precision, suppress_small, separator, prefix, style, formatter) 
    521  else: 
    522   lst = _array2string(a, max_line_width, precision, suppress_small, 
--> 523        separator, prefix, formatter=formatter) 
    524  return lst 
    525 

/usr/local/lib/python3.6/site-packages/numpy/core/arrayprint.py in _array2string(a, max_line_width, precision, suppress_small, separator, prefix, formatter) 
    344     prefix="", formatter=None): 
    345 
--> 346  if a.size > _summaryThreshold: 
    347   summary_insert = "..., " 
    348   data = _leading_trailing(a) 

TypeError: '>' not supported between instances of 'int' and 'str' 
+2

您顯示的代碼運行良好。你確定這是什麼產生了這個錯誤?我沒有看到任何連接。 – hpaulj

+2

這有幫助。你有沒有改變numpy打印選項?它看起來像閾值是一個字符串,而不是一個數字。 – hpaulj

回答

-2

看起來好像你還沒有包含import函數。

嘗試了這一點:

import numpy as np 
test = np.random.randn(10) 
print (test) 

希望工程:)

-2

這工作。

import numpy as np 
arr=np.random.randn(10) 
print(arr) 

O/P: - [0.09311771 -1.24023957 0.78956088 -0.2740184 -1.24509638 0.04739989 -0.4824386 0.57507391 -0.73449684 -0.75584307]

-2

更改打印選項將使這個數組去away.Looks像你已更改numpy中的 默認閾值設置。

np.set_printoptions(threshold=5) 
0

在Python3中,比較元素時決定更嚴格。因此,'int'和'str'之間的比較會引發一個錯誤(這個錯誤很難重現)。 有很多方法可以解決這個問題,我使用的一個選項是numpy中的.tolist()方法。

import numpy as np 
test = np.random.randn(10) 
print(test.tolist())