Rumah  >  Artikel  >  hujung hadapan web  >  Ketahui teknik penghirisan numpy untuk memudahkan pemprosesan data yang besar

Ketahui teknik penghirisan numpy untuk memudahkan pemprosesan data yang besar

王林
王林asal
2024-01-26 08:59:191056semak imbas

Ketahui teknik penghirisan numpy untuk memudahkan pemprosesan data yang besar

Kuasai kaedah operasi penghirisan Numpy dan proses data berskala besar dengan mudah diperlukan

Abstrak:
Apabila memproses data berskala besar, adalah sangat penting untuk menggunakan alat yang sesuai. Numpy ialah perpustakaan yang biasa digunakan dalam Python yang menyediakan alat pengiraan berangka berprestasi tinggi. Artikel ini akan memperkenalkan kaedah operasi penghirisan Numpy dan menggunakan contoh kod untuk menunjukkan cara mengendalikan dan mengekstrak data dengan mudah semasa memproses data berskala besar.

  1. Pengenalan
    Numpy ialah perpustakaan pengiraan berangka yang biasa digunakan dalam Python, menyediakan alatan pemprosesan data yang cekap. Operasi menghiris ialah fungsi yang sangat berkuasa dalam Numpy, yang boleh digunakan untuk mengakses dan mengendalikan elemen tatasusunan dengan cepat. Operasi penghirisan boleh melakukan operasi fleksibel pada tatasusunan satu dimensi, dua dimensi dan berbilang dimensi, menjimatkan proses menulis gelung dan meningkatkan kelajuan operasi.
  2. Menghiris tatasusunan satu dimensi
    Mula-mula, mari kita lihat kaedah operasi penghirisan tatasusunan satu dimensi. Katakan kita mempunyai tatasusunan satu dimensi yang mengandungi 10 elemen:
import numpy as np

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

Kita boleh menggunakan titik bertindih: untuk menentukan julat hirisan. Kod sampel adalah seperti berikut:

# 切片操作
b = a[2:6]  # 从下标2到下标5的元素
print(b)  # 输出:[2 3 4 5]

c = a[:4]  # 从开头到下标3的元素
print(c)  # 输出:[0 1 2 3]

d = a[6:]  # 从下标6到末尾的元素
print(d)  # 输出:[6 7 8 9]

e = a[::3]  # 每隔2个元素取一个
print(e)  # 输出:[0 3 6 9]
  1. Menghiris tatasusunan dua dimensi
    Seterusnya, mari lihat kaedah operasi menghiris tatasusunan dua dimensi. Katakan kita mempunyai tatasusunan dua dimensi 2x3 b:
b = np.array([[0, 1, 2],
              [3, 4, 5]])

Kita boleh menentukan julat kepingan dengan menggunakan koma. Kod sampel adalah seperti berikut:

# 切片操作
c = b[0]  # 提取第0行的元素
print(c)  # 输出:[0 1 2]

d = b[:, 1]  # 提取所有行的第1列元素
print(d)  # 输出:[1 4]

e = b[:2, 1:]  # 提取前两行以及第二列之后的元素
print(e)  # 输出:[[1 2]
           #       [4 5]]
  1. Menghiris tatasusunan berbilang dimensi
    Apabila berurusan dengan tatasusunan berbilang dimensi, operasi menghiris juga sangat mudah. Katakan kita mempunyai tatasusunan tiga dimensi 3x3x3 c:
c = np.array([[[0, 1, 2],
               [3, 4, 5],
               [6, 7, 8]],
              [[9, 10, 11],
               [12, 13, 14],
               [15, 16, 17]],
              [[18, 19, 20],
               [21, 22, 23],
               [24, 25, 26]]])

Kita boleh menentukan julat hirisan dengan menambah bilangan koma. Kod sampel adalah seperti berikut:

# 切片操作
d = c[0]  # 提取第0个二维数组
print(d)  # 输出:[[0 1 2]
           #       [3 4 5]
           #       [6 7 8]]

e = c[:, 1, :]  # 提取所有二维数组的第1行的元素
print(e)  # 输出:[[ 3  4  5]
           #       [12 13 14]
           #       [21 22 23]]

f = c[:, :, ::2]  # 提取所有二维数组的每隔一个元素的列
print(f)  # 输出:[[[ 0  2]
           #        [ 3  5]
           #        [ 6  8]]
           #       [[ 9 11]
           #        [12 14]
           #        [15 17]]
           #       [[18 20]
           #        [21 23]
           #        [24 26]]]
  1. Ringkasan
    Artikel ini memperkenalkan kaedah operasi penghirisan Numpy, dan menggambarkan melalui contoh kod khusus cara menggunakan operasi penghirisan untuk memproses data berskala besar dengan mudah. Operasi penghirisan boleh melakukan operasi fleksibel pada tatasusunan satu dimensi, dua dimensi dan berbilang dimensi, yang boleh meningkatkan kecekapan pemprosesan data dan kebolehbacaan kod dengan banyak. Sebaik sahaja anda menguasai kaedah operasi penghirisan Numpy, ia akan menjadi lebih mudah untuk memproses data berskala besar.

Rujukan:

  • Travis E, Oliphant (2006 A guide to NumPy USA: Trelgol Publishing
  • https://numpy.org/doc/stable/reference/
  • https://numpy. org/doc/stable/user/quickstart.html

Contoh kod:

import numpy as np

# 一维数组切片
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
b = a[2:6]
c = a[:4]
d = a[6:]
e = a[::3]

# 二维数组切片
b = np.array([[0, 1, 2],
              [3, 4, 5]])
c = b[0]
d = b[:, 1]
e = b[:2, 1:]

# 多维数组切片
c = np.array([[[0, 1, 2],
               [3, 4, 5],
               [6, 7, 8]],
              [[9, 10, 11],
               [12, 13, 14],
               [15, 16, 17]],
              [[18, 19, 20],
               [21, 22, 23],
               [24, 25, 26]]])
d = c[0]
e = c[:, 1, :]
f = c[:, :, ::2]

Atas ialah kandungan terperinci Ketahui teknik penghirisan numpy untuk memudahkan pemprosesan data yang besar. 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