Penjelasan terperinci tentang penciptaan tatasusunan dalam tutorial Python NumPy

WBOY
Lepaskan: 2022-08-26 11:59:55
ke hadapan
2712 orang telah melayarinya

[Pengesyoran berkaitan: Tutorial video Python3 ]

Gunakan Senarai untuk mencipta tatasusunan

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"]
Salin selepas log masuk
# 用于创建数组的 Python 程序
 
# 使用列表创建数组
    arr=[1, 2, 3, 4, 5]
    for i in arr:
        print(i)
Salin selepas log masuk

Output:

1
2
3
4
5

Gunakan fungsi tatasusunan untuk mencipta tatasusunan

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")
Salin selepas log masuk

Output:

Tatasusunan baharu yang dicipta ialah : 1 2 3 1 5

Menggunakan kaedah numpy untuk mencipta tatasusunan

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)
Salin selepas log masuk

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)
Salin selepas log masuk

Output:

Matriks b :
[0 0]

Matriks a :
[[ 0 0]
[0 0]]

Matriks c :
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0 . 0.]]

Bentuk Semula Tatasusunan

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)
Salin selepas log masuk

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")
Salin selepas log masuk

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))
Salin selepas log masuk

Output:

B
(tatasusunan([ 2. , 2.25, 2.5 , 2.75, 3. ]), 0.25)

A
[ 0. 0.9786557 0.90929743]

Susun atur rata

Kita 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.

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)
Salin selepas log masuk

Output:

[1, 2, 3, 4]
[1, 3, 2, 4]

Cara membuat tatasusunan dalam Numpy

功能 描述
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!

Label berkaitan:
sumber:jb51.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan