13161216443

您所在位置: 首頁> 學習課程> python培訓班 | Python Numpy 數組的基本操作示例

python培訓班 | Python Numpy 數組的基本操作示例

發布百知教育 來源:學習課程 2019-12-06

Numpy是一個通用的數組處理包。它提供了一個高性能的多維數組對象,以及處理這些數組的工具。它是Python科學計算的基本包。

Numpy除了具有明顯的科學用途外,還可以作為通用數據的高效多維容器。
Numpy中的數組
Numpy中的數組是一個元素表(通常是數字),所有元素都是相同的類型,由一個正整數元組索引。在Numpy中,數組的維數稱為數組的秩。一個整數的元組給出了數組在每個維度上的大小,稱為數組的形狀。Numpy中的數組類稱為ndarray。Numpy數組中的元素可以使用方括號訪問,也可以使用嵌套Python列表初始化。
創建一個Numpy數組
Numpy中的數組可以通過多種方式創建,具有不同數量的秩,定義數組的大小。數組還可以使用各種數據類型(如列表、元組等)創建。合成陣列的類型由序列中元素的類型導出。
注意:可以在創建數組時顯式定義數組的類型。



# Python程序
# 數組的創建
import numpy as np

#  創建rank 1數組
arr = np.array([1, 2, 3])
print("Array with Rank 1: \n",arr)

#  創建rank 2數組
arr = np.array([[1, 2, 3],
               [4, 5, 6]])
print("Array with Rank 2: \n", arr)

# 從元組創建一個數組
arr = np.array((1, 3, 2))
print("\nArray created using "
     "passed tuple:\n", arr)

輸出如下:
Array with Rank 1:
 [1 2 3]
Array with Rank 2:
 [[1 2 3]
 [4 5 6]]
Array created using passed tuple:
 [1 3 2]


python培訓班


訪問數組索引

在numpy數組中,索引或訪問數組索引可以通過多種方式完成。要打印一系列數組,請完成切片。切片數組是在新數組中定義一個范圍,用于從原始數組中打印一系列元素。由于切片數組包含原始數組的一系列元素,因此在切片數組的幫助下修改內容會修改原始數組內容。

#Pthon程序來演示
#numpy數組中的索引
import numpy as np

#初始數組
arr = np.array([[-1, 2, 0, 4],
               [4, -0.5, 6, 0],
               [2.6, 0, 7, 8],
               [3, -7, 4, 2.0]])
print("Initial Array: ")
print(arr)

#打印數組的范圍
#使用切片方法
sliced_arr = arr[:2, ::2]
print ("Array with first 2 rows and"
   " alternate columns(0 and 2):\n", sliced_arr)

#打印元素
#specific Indices
Index_arr = arr[[1, 1, 0, 3],
               [3, 2, 1, 0]]
print ("\nElements at indices (1, 3), "
   "(1, 2), (0, 1), (3, 0):\n", Index_arr)

輸出如下:
Initial Array:
[[-1.  2.  0.  4. ]
 [ 4.  -0.5  6.  0. ]
 [ 2.6  0.  7.  8. ]
 [ 3.  -7.  4.  2. ]]
Array with first 2 rows and alternate columns(0 and 2):
 [[-1.  0.]
 [ 4.  6.]]
Elements at indices (1, 3), (1, 2), (0, 1), (3, 0):
 [0. 6. 2. 3.]

python培訓班



基本陣列操作

在numpy中,數組允許可以在特定陣列或陣列組合上執行的各種操作。這些操作包括一些基本的數學運算以及一元和二元運算。

#Pthon程序來演示
#單個陣列的基本操作
import numpy as np

#定義數組1
a = np.array([[1, 2],
             [3, 4]])

# Defining Array 2
b = np.array([[4, 3],
             [2, 1]])

#向每個元素添加1
print ("Adding 1 to every element:", a + 1)

# 每個元素減去2
print ("\nSubtracting 2 from each element:", b - 2)

# 數組元素和
# 執行一元操作
print ("\nSum of all array "
      "elements: ", a.sum())

#添加兩個數組
#執行二進制操作
print ("\nArray sum:\n", a + b)

輸出如下:
Adding 1 to every element: [[2 3]
 [4 5]]
Subtracting 2 from each element: [[ 2  1]
 [ 0 -1]]
Sum of all array elements:  10
Array sum:
 [[5 5]
 [5 5]]


python培訓班


Numpy中的數據類型

每個Numpy數組都是一個元素表(通常是數字),都是相同的類型,由正整數元組索引。每個ndarray都有一個關聯的數據類型(dtype)對象。此數據類型對象(dtype)提供有關陣列布局的信息。ndarray的值存儲在緩沖區中,緩沖區可以被認為是可以由dtype對象解釋的連續的存儲器字節塊。Numpy提供了大量可用于構造數組的數值數據類型。在創建數組時,Numpy嘗試猜測數據類型,但構造數組的函數通常還包含一個可選參數來顯式指定數據類型。
構造數據類型對象
在Numpy中,除非需要特定的數據類型,否則無需定義數組的數據類型。Numpy試圖猜測構造函數中未預定義的數組的數據類型。

#Python程序創建
#數據類型對象
import numpy as np

#整數數據類型
x = np.array([1, 2])
print("Integer Datatype: ")
print(x.dtype)

#浮動數據類型
x = np.array([1.0, 2.0])
print("\nFloat Datatype: ")
print(x.dtype)

# 強制數據類型
x = np.array([1, 2], dtype = np.int64)
print("\nForcing a Datatype: ")
print(x.dtype)

Integer Datatype:
int64
Float Datatype:
float64
Forcing a Datatype:
int64


python培訓


DataType數組上的數學運算

在Numpy數組中,基本數學運算在數組上以元素方式執行。這些操作既可以作為操作符重載也可以作為函數應用。Numpy中提供了許多有用的函數,用于對數組執行計算,例如sum:用于添加數組元素,T:用于元素的轉置等。



#Python程序創建
#數據類型對象
import numpy as np

#第一個數組
arr1 = np.array([[4, 7], [2, 6]],
                dtype = np.float64)

#第二個數組
arr2 = np.array([[3, 6], [2, 8]],
                dtype = np.float64)

#添加兩個陣列
Sum = np.add(arr1, arr2)
print("Addition of Two Arrays: ")
print(Sum)

#添加所有數組元素
#使用預定義的sum方法
Sum1 = np.sum(arr1)
print("\nAddition of Array elements: ")
print(Sum1)

# 數組的平方根
Sqrt = np.sqrt(arr1)
print("\nSquare root of Array1 elements: ")
print(Sqrt)

#數組轉置
#使用內置功能'T'
Trans_arr = arr1.T
print("\nTranspose of Array: ")
print(Trans_arr)

輸出如下:
Addition of Two Arrays:
[[ 7. 13.]
 [ 4. 14.]]
Addition of Array elements:
19.0
Square root of Array1 elements:
[[2.        2.64575131]
 [1.41421356 2.44948974]]
Transpose of Array:
[[4. 2.]
 [7. 6.]]


python培訓班




python培訓:http://www.onhairsalon.com/python2019


上一篇:python培訓班 | Python如何實現深度優先與廣度優先?

下一篇:應屆生去公司找個Java程序員的職位需要什么技能?

相關推薦

www.onhairsalon.com

有位老師想和您聊一聊

關閉

立即申請