[Pengesyoran berkaitan: Tutorial video Python3 ]
Array digunakan dalam Berbilang nilai disimpan dalam pembolehubah. Python tidak mempunyai sokongan terbina dalam untuk tatasusunan, tetapi senarai Python boleh digunakan sebaliknya.
Contoh:
arr = [1, 2, 3, 4, 5] arr1 = ["geeks", "for", "geeks"]
# 用于创建数组的 Python 程序 # 使用列表创建数组 arr=[1, 2, 3, 4, 5] for i in arr: print(i)
Output:
1
2
3
4
5
fungsi tatasusunan(jenis data, senarai nilai) digunakan untuk buat tatasusunan , jenis data dan senarai nilai ditentukan dalam parameternya.
Contoh:
# 演示 array() 工作的 Python 代码 # 为数组操作导入“array” import array # 用数组值初始化数组 # 用有符号整数初始化数组 arr = array.array('i', [1, 2, 3]) # 打印原始数组 print ("The new created array is : ",end="") for i in range (0,3): print (arr[i], end=" ") print ("\r")
Output:
Tatasusunan baharu yang dicipta ialah : 1 2 3 1 5
NumPy menyediakan beberapa fungsi untuk mencipta tatasusunan dengan kandungan pemegang tempat awal. Ini meminimumkan keperluan untuk mengembangkan tatasusunan, yang merupakan operasi yang mahal. Contohnya: np.zeros, np.empty, dsb.
numpy.empty(shape, dtype = float, order = 'C'): Mengembalikan tatasusunan baharu bagi bentuk dan jenis yang diberikan, dengan nilai rawak.
# 说明 numpy.empty 方法的 Python 代码 import numpy as geek b = geek.empty(2, dtype = int) print("Matrix b : \n", b) a = geek.empty([2, 2], dtype = int) print("\nMatrix a : \n", a) c = geek.empty([3, 3]) print("\nMatrix c : \n", c)
Output:
Matriks b :
[ 0 1079574528]
Matriks a :
[[ 0 0]
[0 0]]
Matriks a :
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0 . 0.]]
numpy.zeros(shape, dtype = None, order = 'C'): Mengembalikan tatasusunan baharu bagi bentuk dan jenis yang diberikan, dengan sifar .
# 说明 numpy.zeros 方法的 Python 程序 import numpy as geek b = geek.zeros(2, dtype = int) print("Matrix b : \n", b) a = geek.zeros([2, 2], dtype = int) print("\nMatrix a : \n", a) c = geek.zeros([3, 3]) print("\nMatrix c : \n", c)
Output:
Matriks b :
[0 0]
Matriks a :
[[ 0 0]
[0 0]]
Matriks c :
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0 . 0.]]
Kita boleh menggunakan kaedah reshape
untuk membentuk semula tatasusunan. Pertimbangkan tatasusunan bentuk (a1, a2, a3, ..., aN). Kita boleh membentuk semula dan menukarnya kepada tatasusunan bentuk lain (b1, b2, b3, ..., bM).
Satu-satunya syarat yang diperlukan ialah: a1 x a2 x a3 … x aN = b1 x b2 x b3 … x bM . (iaitu saiz asal tatasusunan kekal tidak berubah.)
numpy.reshape(array, shape, order = 'C'): Shape the array tanpa mengubah data array .
# 说明 numpy.reshape() 方法的 Python 程序 import numpy as geek array = geek.arange(8) print("Original array : \n", array) # 具有 2 行和 4 列的形状数组 array = geek.arange(8).reshape(2, 4) print("\narray reshaped with 2 rows and 4 columns : \n", array) # 具有 2 行和 4 列的形状数组 array = geek.arange(8).reshape(4 ,2) print("\narray reshaped with 2 rows and 4 columns : \n", array) # 构造 3D 数组 array = geek.arange(8).reshape(2, 2, 2) print("\nOriginal array reshaped to 3D : \n", array)
Output:
Susun atur asal:
[0 1 2 3 4 5 6 7]
tatasusunan dibentuk semula dengan 2 baris dan 4 lajur :
[[0 1 2 3]
[4 5 6 7]]
tatasusunan dibentuk semula dengan 2 baris dan 4 lajur :
[[0 1]
[2 3]
[4 5]
[6 7]]
Susun atur asal dibentuk semula kepada 3D :
[[[0 1]
[2 3] ]
[[4 5]
[6 7]]]
Untuk mencipta urutan nombor, NumPy menyediakan fungsi seperti julat yang mengembalikan tatasusunan dan bukannya senarai.
arange Mengembalikan nilai teragih seragam dalam selang waktu tertentu. Panjang langkah ditentukan.
linspace Mengembalikan nilai yang diedarkan secara seragam dalam selang waktu tertentu. Elemen dengan nombor _ dikembalikan.
arange([start,] stop[, step,][, dtype]): Mengembalikan tatasusunan dengan elemen jarak sekata berdasarkan selang. Selang yang disebutkan adalah separuh terbuka, iaitu [mula, berhenti)
# 说明 numpy.arange 方法的 Python 编程 import numpy as geek print("A\n", geek.arange(4).reshape(2, 2), "\n") print("A\n", geek.arange(4, 10), "\n") print("A\n", geek.arange(4, 20, 3), "\n")
Output:
A
[[0 1]
[2 3]]
A
[4 5 6 7 8 9]
A
[ 4 7 10 13 16 19]
numpy.linspace(start, stop, num = 50, endpoint = True, retstep = False, dtype = None): Mengembalikan ruang angka secara seragam dalam selang waktu. Seperti arange tetapi bukannya langkah ia menggunakan nombor sampel.
# 说明 numpy.linspace 方法的 Python 编程 import numpy as geek # 重新设置为 True print("B\n", geek.linspace(2.0, 3.0, num=5, retstep=True), "\n") # 长期评估 sin() x = geek.linspace(0, 2, 10) print("A\n", geek.sin(x))
Output:
Susun atur rataKita boleh menggunakan kaedah rata Meruntuhkan salinan tatasusunan menjadi satu dimensi. Ia menerima parameter pesanan. Nilai lalai ialah "C" (untuk susunan baris-utama). Gunakan "F" untuk susunan utama lajur.B
(tatasusunan([ 2. , 2.25, 2.5 , 2.75, 3. ]), 0.25)
A
[ 0. 0.9786557 0.90929743]
numpy.ndarray.flatten(order = 'C') : Mengembalikan salinan tatasusunan yang diratakan kepada satu dimensi.
# 说明 numpy.flatten() 方法的 Python 程序 import numpy as geek array = geek.array([[1, 2], [3, 4]]) # 使用扁平化方法 array.flatten() print(array) #使用扁平化方法 array.flatten('F') print(array)
Output:
[1, 2, 3, 4]
[1, 3, 2, 4]
功能 | 描述 |
---|---|
empty() | 返回给定形状和类型的新数组,而不初始化条目 |
empty_like() | 返回与给定数组具有相同形状和类型的新数组 |
eye() | 返回一个二维数组,其中对角线为 1,其他位置为 0。 |
identity() | 返回标识数组 |
ones() | 返回一个给定形状和类型的新数组,用一个填充 |
one_like() | 返回与给定数组具有相同形状和类型的数组 |
zeros() | 返回给定形状和类型的新数组,用零填充 |
zeros_like() | 返回与给定数组具有相同形状和类型的零数组 |
full_like() | 返回与给定数组具有相同形状和类型的完整数组。 |
array() | 创建一个数组 |
asarray() | 将输入转换为数组 |
asanyarray() | 将输入转换为 ndarray,但通过 ndarray 子类 |
ascontiguousarray() | 返回内存中的连续数组(C 顺序) |
asmatrix() | 将输入解释为矩阵 |
copy() | 返回给定对象的数组副本 |
frombuffer() | 将缓冲区解释为一维数组 |
fromfile() | 从文本或二进制文件中的数据构造数组 |
fromfunction() | 通过在每个坐标上执行函数来构造数组 |
fromiter() | 从可迭代对象创建一个新的一维数组 |
fromstring() | 从字符串中的文本数据初始化的新一维数组 |
loadtxt() | 从文本文件加载数据 |
arange() | 在给定间隔内返回均匀间隔的值 |
linspace() | 在指定的时间间隔内返回均匀分布的数字 |
logspace() | 返回在对数刻度上均匀分布的数字 |
geomspace() | 返回在对数尺度上均匀分布的数字(几何级数) |
meshgrid() | 从坐标向量返回坐标矩阵 |
mgrid() | nd_grid 实例,它返回一个密集的多维“网格” |
ogrid() | nd_grid 实例,它返回一个开放的多维“meshgrid” |
diag() | 提取对角线或构造对角线数组 |
diagflat() | 创建一个二维数组,将扁平化输入作为对角线 |
tri() | 一个数组,在给定的对角线处和下方都有一个,在其他地方有零 |
tril() | 数组的下三角形 |
triu() | 数组的上三角形 |
vander() | 生成范德蒙德矩阵 |
mat() | 将输入解释为矩阵 |
bmat() | 从字符串、嵌套序列或数组构建矩阵对象 |
【Cadangan berkaitan: Tutorial video Python3 】
Atas ialah kandungan terperinci Penjelasan terperinci tentang penciptaan tatasusunan dalam tutorial Python NumPy. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!