天天看點

【python】import numpy as npnumpy完整輸出numpy

文章目錄

  • numpy
      • array
      • ndarray
      • 生成0和1的數組
      • 建立一個制定形狀的數組,不初始化
      • 建立一個指定形狀的數組,不初始化-2
      • np.arrange
  • 完整輸出numpy

numpy

Numpy(Numerical Python)是一個開源的Python科學計算庫,用于快速處理任意次元的數組。

Numpy支援常見的數組和矩陣操作。對于同樣的數值計算任務,使用Numpy比直接使用Python要簡潔的多。

Numpy使用

ndarray

對象來處理多元數組,該對象是一個快速而靈活的大資料容器。

import numpy as np 
# 建立ndarray 
score = np.array( 
[[80, 89, 86, 67, 79], 
[78, 97, 89, 67, 81], 
[90, 94, 78, 67, 74], 
[91, 91, 90, 67, 69], 
[76, 87, 75, 67, 86], 
[70, 79, 84, 67, 84], 
[94, 92, 93, 67, 64], 
[86, 85, 83, 67, 80]]) 
score
# 輸出
array([[80, 89, 86, 67, 79], 
	  [78, 97, 89, 67, 81], 
	  [90, 94, 78, 67, 74], 
	  [91, 91, 90, 67, 69], 
	  [76, 87, 75, 67, 86], 
	  [70, 79, 84, 67, 84], 
	  [94, 92, 93, 67, 64], 
	  [86, 85, 83, 67, 80]])

           

array

numpy 子產品的 array 函數可以生成多元數組。例如,如果要生成一個二維數組,需要向 array 函數傳遞一個清單類型的參數。每一個清單元素是一維的 ndarray 類型數組,作為二維數組的行。另外,通過 ndarray 類的 shape 屬性可以獲得數組每一維的元素個數(元組形式), 也可以通過 shape[n]形式獲得每一維的元素個數,其中 n 是次元,從 0 開始。

數組預設要求:每行元素數量相等。

parameters:

  • object:數組或嵌套的數列
  • dtype:數組元素的資料類型,可選
  • copy:對象是否需要複制,可選
  • order:建立數組的樣式,C為行方向,F為列方向,A為任意方向(預設)
  • subok:預設傳回一個與基類類型一緻的數組
  • ndmin:指定生成數組的最小次元
import numpy as np 
a=np.array([1,2,3,4,5,6],ndmin=3) 
print(a)
# output
[[[1 2 3 4 5 6]]]
           

ndarray

屬性方法:

  • ndarray.shape:傳回數組次元的元組
  • ndarray.ndim:傳回數組維數
  • ndarray.size:傳回數組中的元素數量
  • ndarray.itemsize:一個數組元素的長度(位元組)
  • ndarray.dtype:數組元素的類型
import numpy as np

import numpy as np

a=np.array([[1,2,3],[4,5,6]])
b=np.array([1,2,3,4])
c=np.array([[[1,2],[3,4],[5,6],[7,8]],[[1,2],[3,4],[5,6],[7,8]]])
print(a.shape)
print(b.shape)
print(c.shape)
# output
(2, 3) 	# 二維數組
(4,) 	# 一維數組
(2, 4, 2) 	# 三維數組
           

生成0和1的數組

  • np.ones(shape, dtype)
import numpy as np

ones=np.ones([2,3,4])
print(ones)
# output
[[[1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]

 [[1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]]
           
  • np.ones_like(a, dtype)
import numpy as np

a=np.zeros([2,3,1])
ones=np.ones_like(a)
print(a)
# output
[[[0.]
  [0.]
  [0.]]

 [[0.]
  [0.]
  [0.]]]
           
  • np.zeros(shape, dtype)
import numpy as np

zeros=np.zeros([2,3,4])
print(zeros)
[[[0. 0. 0. 0.]
  [0. 0. 0. 0.]
  [0. 0. 0. 0.]]

 [[0. 0. 0. 0.]
  [0. 0. 0. 0.]
  [0. 0. 0. 0.]]]
           
  • np.zeros_like(a, dtype)
import numpy as np

a=np.ones([2,3,3])
zeros=np.zeros_like(a)
print(a)
# output
[[[1. 1. 1.]
  [1. 1. 1.]
  [1. 1. 1.]]

 [[1. 1. 1.]
  [1. 1. 1.]
  [1. 1. 1.]]]
           

建立一個制定形狀的數組,不初始化

  • np.empy()

    numpy.empty 方法用來建立一個指定形狀(shape)、資料類型(dtype)且未初始化的 數組,裡面的元素的值是之前記憶體的值:

  • shape:數組形狀
  • dtype:數組類型
  • order:C,行優先;F列優先
import numpy as np

a=np.empty([3,2,4])
print(a)
#output
[[[6.23042070e-307 1.89146896e-307 1.37961302e-306 1.05699242e-307]
  [1.95821439e-306 7.56598449e-307 1.11261027e-306 1.24610383e-306]]

 [[1.69118108e-306 8.06632139e-308 1.20160711e-306 1.69119330e-306]
  [1.29062229e-306 1.60217812e-306 1.37961370e-306 8.45592576e-307]]

 [[1.37961981e-306 1.42418172e-306 2.04712906e-306 7.56589622e-307]
  [1.11258277e-307 8.90111708e-307 3.22643519e-307 9.79103798e-307]]]
           

建立一個指定形狀的數組,不初始化-2

-np.random.ramdom_sample()

import numpy as np

a = np.random.random_sample((3,4))
print(a)

# output
[[0.04997798 0.77390955 0.93782363 0.5792328 ]
 [0.53516563 0.80204309 0.24814448 0.59096694]
 [0.32950282 0.98797985 0.86846315 0.16452144]]
           

np.arrange

a = np.arange(4.);              print(f"np.arange(4.):     a = {a}, a shape = {a.shape}, a data type = {a.dtype}")
a = np.random.rand(4);          print(f"np.random.rand(4): a = {a}, a shape = {a.shape}, a data type = {a.dtype}")

# output
np.arange(4.):     a = [0. 1. 2. 3.], a shape = (4,), a data type = float64
np.random.rand(4): a = [0.11806417 0.07001424 0.32127946 0.76023838], a shape = (4,), a data type = float64
           

完整輸出numpy

np.set_printoptions(threshold=np.nan)
# or
import sys
np.set_printoptions(threshold=sys.maxsize)