一、初識numpy數組
NumPy是Python語言的一個擴展程序庫,支持大量的維度數組與矩陣計算。它可以用來存儲和處理大型矩陣,比Python自帶的列表(list)結構要高效得多。在numpy中,我們可以用numpy來定義和處理數組,它所支持的操作包括數學計算、邏輯運算、數組操作和操作輸入輸出文件等等。
import numpy as np
# 定義一維數組
a = np.array([1, 2, 3])
# 定義二維數組
b = np.array([[1, 2], [3, 4]])
二、numpy數組的形狀、類型和大小
在numpy中,每個數組都有三個基本屬性:形狀(shape)、類型(dtype)和大小(size)。形狀表示數組的維度和大小,類型表示數組的數據類型,大小表示數組元素的總數。
# 查看數組形狀
print(a.shape)
print(b.shape)
# 查看數組類型
print(a.dtype)
print(b.dtype)
# 查看數組大小
print(a.size)
print(b.size)
三、numpy數組的添加元素
在使用numpy創建數組後,常常需要對已有的數組進行修改或增加元素等操作。numpy數組的添加元素操作可以分為以下幾種:
1. append()函數
numpy的append()函數可以在數組末尾添加元素。需要注意的是,append()函數返回一個新的數組,原數組不會發生改變。
# 向a數組中添加元素
a = np.append(a, [4, 5, 6])
print("a數組的形狀為:",a.shape)
print("a數組為:",a)
# 向b數組中添加元素
b = np.append(b, [[5, 6]], axis=0)
print("b數組的形狀為:",b.shape)
print("b數組為:",b)
# 向b數組中添加元素
b = np.append(b, [[7,8,9]], axis=1)
print("b數組的形狀為:",b.shape)
print("b數組為:",b)
2. insert()函數
numpy的insert()函數可以在數組指定位置插入元素。需要注意的是,insert()函數返回一個新的數組,原數組不會發生改變。
# 向a數組特定位置插入元素
a = np.insert(a, 1, [7, 8, 9])
print("a數組的形狀為:",a.shape)
print("a數組為:",a)
# 向b數組特定位置插入元素
b = np.insert(b, 1, 5, axis=0)
print("b數組的形狀為:",b.shape)
print("b數組為:",b)
# 向b數組特定位置插入元素
b = np.insert(b, 1, 5, axis=1)
print("b數組的形狀為:",b.shape)
print("b數組為:",b)
3. concatenate()函數
numpy的concatenate()函數可以將兩個數組按照指定軸連接在一起。需要注意的是,concatenate()函數返回一個新的數組,原數組不會發生改變。
c = np.array([[11, 12], [13, 14]])
print("c數組的形狀為:",c.shape)
# 連接a、b、c數組
d = np.concatenate((b, c), axis=0)
print("d數組的形狀為:",d.shape)
print("d數組為:",d)
4. vstack()、hstack()函數
numpy的vstack()和hstack()函數可以將多個數組垂直或水平堆疊起來。需要注意的是,vstack()和hstack()函數返回一個新的數組,原數組不會發生改變。
e = np.array([[15, 16, 17], [18, 19, 20]])
print("e數組的形狀為:",e.shape)
# 垂直堆疊b、c、e數組
f = np.vstack((b, c, e))
print("f數組的形狀為:",f.shape)
print("f數組為:",f)
# 水平堆疊b、c數組
g = np.hstack((b, c))
print("g數組的形狀為:",g.shape)
print("g數組為:",g)
四、小結
在Python中,使用numpy創建數組和進行數組操作可以大大增強我們的效率,numpy支持了很多Python自帶列表不支持的數組操作,如上述的append()、insert()、concatenate()、vstack()和hstack()等等。掌握這些操作,可以讓我們更加靈活、高效地對數組進行操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/155365.html