Rumah  >  Artikel  >  hujung hadapan web  >  Kemahiran aplikasi yang cekap untuk menguasai operasi penghirisan numpy dengan cepat

Kemahiran aplikasi yang cekap untuk menguasai operasi penghirisan numpy dengan cepat

王林
王林asal
2024-01-26 10:51:06532semak imbas

Kemahiran aplikasi yang cekap untuk menguasai operasi penghirisan numpy dengan cepat

Petua aplikasi yang cekap untuk kaedah operasi hirisan numpy

Pengenalan:
NumPy ialah salah satu perpustakaan pengkomputeran saintifik yang paling biasa digunakan dalam Python, yang menyediakan alatan yang cekap untuk operasi tatasusunan dan operasi matematik. Dalam NumPy, penghirisan ialah operasi penting dan biasa digunakan yang membolehkan kami memilih bahagian tertentu tatasusunan atau melakukan transformasi tertentu. Artikel ini akan memperkenalkan beberapa teknik aplikasi yang cekap menggunakan kaedah operasi penghirisan NumPy dan memberikan contoh kod khusus.

1. Operasi penghirisan tatasusunan satu dimensi
1 Operasi penghirisan asas
Operasi penghirisan tatasusunan satu dimensi adalah serupa dengan operasi penghirisan dalam Python. Berikut ialah beberapa operasi penghirisan biasa:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])

# 提取第3个到第5个元素
sliced_arr = arr[2:5]  # [3 4 5]

# 提取前4个元素
sliced_arr = arr[:4]  # [1 2 3 4]

# 提取从第5个元素到最后一个元素
sliced_arr = arr[4:]  # [5 6 7 8 9]

# 提取倒数第3个到第2个元素
sliced_arr = arr[-3:-1]  # [7 8]

2. Operasi penghirisan saiz langkah
Selain operasi penghirisan asas, kami juga boleh melakukan penghirisan dengan menentukan saiz langkah. Berikut adalah beberapa operasi penghirisan saiz langkah biasa:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])

# 每隔2个取一个元素
sliced_arr = arr[::2]  # [1 3 5 7 9]

# 从第3个元素开始,每隔2个取一个元素
sliced_arr = arr[2::2]  # [3 5 7 9]

# 倒序提取所有元素
sliced_arr = arr[::-1]  # [9 8 7 6 5 4 3 2 1]

2. Operasi penghirisan tatasusunan berbilang dimensi
1. Operasi penghirisan asas
Apabila berurusan dengan tatasusunan berbilang dimensi, operasi penghirisan menjadi lebih kompleks. Kita boleh mengekstrak sebahagian daripada tatasusunan dengan menyatakan julat baris dan lajur Berikut ialah beberapa operasi penghirisan tatasusunan berbilang dimensi yang biasa:

import numpy as np

arr = np.array([[1, 2, 3],
                [4, 5, 6],
                [7, 8, 9]])

# 提取第2行和第3行
sliced_arr = arr[1:3, :]  # [[4 5 6]
                          #  [7 8 9]]

# 提取第2列和第3列
sliced_arr = arr[:, 1:3]  # [[2 3]
                          #  [5 6]
                          #  [8 9]]

# 提取第2行到第3行,第2列到第3列
sliced_arr = arr[1:3, 1:3]  # [[5 6]
                            #  [8 9]]

2. Operasi penghirisan saiz langkah
Dalam tatasusunan berbilang dimensi, kita juga boleh melakukan penghirisan. dengan menyatakan saiz langkah beroperasi. Berikut adalah beberapa operasi penghirisan saiz langkah biasa untuk tatasusunan berbilang dimensi:

import numpy as np

arr = np.array([[1, 2, 3],
                [4, 5, 6],
                [7, 8, 9]])

# 每隔一行取一个元素
sliced_arr = arr[::2, :]  # [[1 2 3]
                          #  [7 8 9]]

# 每隔一列取一个元素
sliced_arr = arr[:, ::2]  # [[1 3]
                          #  [4 6]
                          #  [7 9]]

3. Kemahiran aplikasi yang cekap operasi penghirisan
1. Gunakan penghirisan untuk penggantian elemen
Penghirisan bukan sahaja boleh digunakan untuk mengekstrak sebahagian daripada tatasusunan, tetapi juga untuk menggantikannya. Berikut ialah kod sampel:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])

# 将数组中的奇数替换为0
arr[arr % 2 != 0] = 0
print(arr)  # [0 2 0 4 0 6 0 8 0]

2. Gunakan penghirisan untuk penapisan bersyarat
Kita boleh menggunakan penghirisan untuk beroperasi pada elemen yang memenuhi syarat tertentu dan beroperasi pada elemen ini. Berikut ialah contoh kod:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])

# 提取数组中大于5的元素
sliced_arr = arr[arr > 5]
print(sliced_arr)  # [6 7 8 9]

# 对大于5的元素进行平方
arr[arr > 5] = arr[arr > 5] ** 2
print(arr)  # [1 2 3 4 5 36 49 64 81]

Kesimpulan:
Artikel ini memperkenalkan teknik aplikasi yang cekap menggunakan kaedah operasi hirisan NumPy dan memberikan contoh kod khusus. Dengan penggunaan fleksibel operasi penghirisan, kami boleh melaksanakan operasi dengan cekap seperti pengekstrakan separa, transformasi dan penggantian tatasusunan. Saya harap artikel ini akan membantu anda memahami dan menggunakan operasi penghirisan NumPy.

Atas ialah kandungan terperinci Kemahiran aplikasi yang cekap untuk menguasai operasi penghirisan numpy dengan cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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