Xóa phần tử khỏi mảng 2d python

Sử dụng hàm NumPy

print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
1, bạn có thể xóa bất kỳ hàng và cột nào khỏi mảng NumPy
print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
2

  • cục mịch. xóa — NumPy v1. 15 Sách hướng dẫn

Chỉ định trục [thứ nguyên] và vị trí [số hàng, số cột, v.v. ]. Cũng có thể chọn nhiều hàng và cột bằng cách sử dụng một lát hoặc một danh sách

Bài viết này mô tả các nội dung sau

  • Cách sử dụng cơ bản của
    print[np.delete[a, 0, 0]]
    # [[ 4  5  6  7]
    #  [ 8  9 10 11]]
    
    print[np.delete[a, 2, 0]]
    # [[0 1 2 3]
    #  [4 5 6 7]]
    
    # print[np.delete[a, 3, 0]]
    # IndexError: index 3 is out of bounds for axis 0 with size 3
    
    1
    • Chỉ định chỉ mục [số hàng/cột].
      print[np.delete[a, 0, 0]]
      # [[ 4  5  6  7]
      #  [ 8  9 10 11]]
      
      print[np.delete[a, 2, 0]]
      # [[0 1 2 3]
      #  [4 5 6 7]]
      
      # print[np.delete[a, 3, 0]]
      # IndexError: index 3 is out of bounds for axis 0 with size 3
      
      4
    • Chỉ định trục [thứ nguyên].
      print[np.delete[a, 0, 0]]
      # [[ 4  5  6  7]
      #  [ 8  9 10 11]]
      
      print[np.delete[a, 2, 0]]
      # [[0 1 2 3]
      #  [4 5 6 7]]
      
      # print[np.delete[a, 3, 0]]
      # IndexError: index 3 is out of bounds for axis 0 with size 3
      
      5
  • Xóa nhiều hàng và cột cùng lúc
    • Sử dụng một danh sách
    • Sử dụng một lát
    • Xóa hàng và cột
  • Ví dụ về mảng nhiều chiều

Xem các bài viết sau để biết cách xóa phần tử, hàng, cột theo điều kiện thay vì xác định vị trí theo chỉ số và cách xóa hàng, cột chứa giá trị thiếu

print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
6

  • NumPy. Trích xuất hoặc xóa các phần tử, hàng và cột thỏa mãn điều kiện
  • NumPy. Xóa các hàng/cột có giá trị bị thiếu [NaN] trong ndarray

Sử dụng

print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
7 để thay đổi hình dạng

  • NumPy. Cách sử dụng reshape[] và ý nghĩa của -1

Cách sử dụng cơ bản của
print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
1

print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
1 nhận ba tham số như sau

  • print[np.delete[a, 1, 0]]
    # [[ 0  1  2  3]
    #  [ 8  9 10 11]]
    
    print[np.delete[a, 1, 1]]
    # [[ 0  2  3]
    #  [ 4  6  7]
    #  [ 8 10 11]]
    
    # print[np.delete[a, 1, 2]]
    # AxisError: axis 2 is out of bounds for array of dimension 2
    
    0
    • print[np.delete[a, 1, 0]]
      # [[ 0  1  2  3]
      #  [ 8  9 10 11]]
      
      print[np.delete[a, 1, 1]]
      # [[ 0  2  3]
      #  [ 4  6  7]
      #  [ 8 10 11]]
      
      # print[np.delete[a, 1, 2]]
      # AxisError: axis 2 is out of bounds for array of dimension 2
      
      1. mảng đầu vào
    • print[np.delete[a, 0, 0]]
      # [[ 4  5  6  7]
      #  [ 8  9 10 11]]
      
      print[np.delete[a, 2, 0]]
      # [[0 1 2 3]
      #  [4 5 6 7]]
      
      # print[np.delete[a, 3, 0]]
      # IndexError: index 3 is out of bounds for axis 0 with size 3
      
      4. Số hàng hoặc cột cần xóa
    • print[np.delete[a, 0, 0]]
      # [[ 4  5  6  7]
      #  [ 8  9 10 11]]
      
      print[np.delete[a, 2, 0]]
      # [[0 1 2 3]
      #  [4 5 6 7]]
      
      # print[np.delete[a, 3, 0]]
      # IndexError: index 3 is out of bounds for axis 0 with size 3
      
      5. Trục để xóa

Ví dụ: để xóa hàng thứ hai, hãy đặt

print[np.delete[a, 1, 0]]
# [[ 0  1  2  3]
#  [ 8  9 10 11]]

print[np.delete[a, 1, 1]]
# [[ 0  2  3]
#  [ 4  6  7]
#  [ 8 10 11]]

# print[np.delete[a, 1, 2]]
# AxisError: axis 2 is out of bounds for array of dimension 2
4. Chi tiết sẽ được mô tả sau. Bản gốc
print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
2 không bị thay đổi và bản sao mới của
print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
2 được trả lại

import numpy as np

a = np.arange[12].reshape[3, 4]
print[a]
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]]

a_del = np.delete[a, 1, 0]
print[a_del]
# [[ 0  1  2  3]
#  [ 8  9 10 11]]

print[a]
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]]

nguồn.

Chỉ định chỉ mục [số hàng/cột].
print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
4

Chỉ định chỉ mục [số hàng/cột] sẽ bị xóa trong tham số thứ hai

print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
4. Chỉ mục bắt đầu từ
print[np.delete[a, 1, 0]]
# [[ 0  1  2  3]
#  [ 8  9 10 11]]

print[np.delete[a, 1, 1]]
# [[ 0  2  3]
#  [ 4  6  7]
#  [ 8 10 11]]

# print[np.delete[a, 1, 2]]
# AxisError: axis 2 is out of bounds for array of dimension 2
9

Chỉ định một chỉ mục không tồn tại sẽ gây ra lỗi

print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3

nguồn.

Chỉ định trục [thứ nguyên].
print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
5

Chỉ định trục [thứ nguyên] sẽ bị xóa trong tham số thứ ba

print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
5. Số trục bắt đầu từ
print[np.delete[a, 1, 0]]
# [[ 0  1  2  3]
#  [ 8  9 10 11]]

print[np.delete[a, 1, 1]]
# [[ 0  2  3]
#  [ 4  6  7]
#  [ 8 10 11]]

# print[np.delete[a, 1, 2]]
# AxisError: axis 2 is out of bounds for array of dimension 2
9

Trong trường hợp mảng hai chiều, hàng là chiều thứ nhất [

print[np.delete[a, 1, None]]
# [ 0  2  3  4  5  6  7  8  9 10 11]

print[np.delete[a, 1]]
# [ 0  2  3  4  5  6  7  8  9 10 11]
3] và cột là chiều thứ hai [
print[np.delete[a, 1, None]]
# [ 0  2  3  4  5  6  7  8  9 10 11]

print[np.delete[a, 1]]
# [ 0  2  3  4  5  6  7  8  9 10 11]
4]

Việc chỉ định một thứ nguyên không tồn tại sẽ gây ra lỗi

print[np.delete[a, 1, 0]]
# [[ 0  1  2  3]
#  [ 8  9 10 11]]

print[np.delete[a, 1, 1]]
# [[ 0  2  3]
#  [ 4  6  7]
#  [ 8 10 11]]

# print[np.delete[a, 1, 2]]
# AxisError: axis 2 is out of bounds for array of dimension 2

nguồn.

Với

print[np.delete[a, 1, None]]
# [ 0  2  3  4  5  6  7  8  9 10 11]

print[np.delete[a, 1]]
# [ 0  2  3  4  5  6  7  8  9 10 11]
5, phần tử tại chỉ mục được chỉ định bởi
print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
4 sẽ bị xóa sau khi làm phẳng thành một chiều. Giá trị mặc định cho
print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
5 là
print[np.delete[a, 1, None]]
# [ 0  2  3  4  5  6  7  8  9 10 11]

print[np.delete[a, 1]]
# [ 0  2  3  4  5  6  7  8  9 10 11]
8

print[np.delete[a, 1, None]]
# [ 0  2  3  4  5  6  7  8  9 10 11]

print[np.delete[a, 1]]
# [ 0  2  3  4  5  6  7  8  9 10 11]

nguồn.

Liên kết được tài trợ

Xóa nhiều hàng và cột cùng lúc

Có thể xóa nhiều hàng và cột cùng một lúc bằng cách chỉ định một danh sách hoặc một lát cắt trong tham số thứ hai

print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
4

Sử dụng một danh sách

Chỉ định số hàng và số cột sẽ bị xóa trong danh sách hoặc mảng

print[np.delete[a, [0, 3], 1]]
# [[ 1  2]
#  [ 5  6]
#  [ 9 10]]

print[np.delete[a, [0, 1, 3], 1]]
# [[ 2]
#  [ 6]
#  [10]]

nguồn.

Sử dụng một lát

Cũng có thể chỉ định nhiều hàng và cột bằng cách sử dụng một lát cắt chỉ định một phạm vi có

print[np.delete[a, [0, 3], 1]]
# [[ 1  2]
#  [ 5  6]
#  [ 9 10]]

print[np.delete[a, [0, 1, 3], 1]]
# [[ 2]
#  [ 6]
#  [10]]
0

Để biết thêm thông tin về kiến ​​thức cơ bản về cắt và cắt các đối tượng bằng

print[np.delete[a, [0, 3], 1]]
# [[ 1  2]
#  [ 5  6]
#  [ 9 10]]

print[np.delete[a, [0, 1, 3], 1]]
# [[ 2]
#  [ 6]
#  [10]]
1, hãy xem bài viết sau

  • Cách cắt danh sách, chuỗi, tuple trong Python

lát cắt[]

Tạo một đối tượng lát cắt với

print[np.delete[a, [0, 3], 1]]
# [[ 1  2]
#  [ 5  6]
#  [ 9 10]]

print[np.delete[a, [0, 1, 3], 1]]
# [[ 2]
#  [ 6]
#  [10]]
1 và chỉ định nó làm tham số thứ hai
print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
4

Nó tương đương với

print[np.delete[a, [0, 3], 1]]
# [[ 1  2]
#  [ 5  6]
#  [ 9 10]]

print[np.delete[a, [0, 1, 3], 1]]
# [[ 2]
#  [ 6]
#  [10]]
4 nếu chỉ có một đối số,
print[np.delete[a, [0, 3], 1]]
# [[ 1  2]
#  [ 5  6]
#  [ 9 10]]

print[np.delete[a, [0, 1, 3], 1]]
# [[ 2]
#  [ 6]
#  [10]]
5 nếu có hai đối số và
print[np.delete[a, [0, 3], 1]]
# [[ 1  2]
#  [ 5  6]
#  [ 9 10]]

print[np.delete[a, [0, 1, 3], 1]]
# [[ 2]
#  [ 6]
#  [10]]
0 nếu có ba đối số. Nếu bạn muốn bỏ qua, hãy chỉ định rõ ràng
print[np.delete[a, 1, None]]
# [ 0  2  3  4  5  6  7  8  9 10 11]

print[np.delete[a, 1]]
# [ 0  2  3  4  5  6  7  8  9 10 11]
8

print[np.delete[a, slice[2], 1]]
# [[ 2  3]
#  [ 6  7]
#  [10 11]]

print[np.delete[a, slice[1, 3], 1]]
# [[ 0  3]
#  [ 4  7]
#  [ 8 11]]

print[np.delete[a, slice[None, None, 2], 1]]
# [[ 1  3]
#  [ 5  7]
#  [ 9 11]]

nguồn.

np. S_[]

Sử dụng

print[np.delete[a, [0, 3], 1]]
# [[ 1  2]
#  [ 5  6]
#  [ 9 10]]

print[np.delete[a, [0, 1, 3], 1]]
# [[ 2]
#  [ 6]
#  [10]]
8 nếu bạn muốn viết ở dạng
print[np.delete[a, [0, 3], 1]]
# [[ 1  2]
#  [ 5  6]
#  [ 9 10]]

print[np.delete[a, [0, 1, 3], 1]]
# [[ 2]
#  [ 6]
#  [10]]
0

  • cục mịch. s_ — NumPy v1. 15 Sách hướng dẫn

print[np.delete[a, np.s_[:2], 1]]
# [[ 2  3]
#  [ 6  7]
#  [10 11]]

print[np.delete[a, np.s_[1:3], 1]]
# [[ 0  3]
#  [ 4  7]
#  [ 8 11]]

print[np.delete[a, np.s_[::2], 1]]
# [[ 1  3]
#  [ 5  7]
#  [ 9 11]]

nguồn.

Xóa hàng và cột

Bạn không thể xóa nhiều thứ nguyên [chẳng hạn như hàng và cột] cùng một lúc với

print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
1. Nếu bạn muốn xóa các kích thước khác nhau, hãy lặp lại
print[np.delete[a, 0, 0]]
# [[ 4  5  6  7]
#  [ 8  9 10 11]]

print[np.delete[a, 2, 0]]
# [[0 1 2 3]
#  [4 5 6 7]]

# print[np.delete[a, 3, 0]]
# IndexError: index 3 is out of bounds for axis 0 with size 3
1

print[np.delete[np.delete[a, 1, 0], 1, 1]]
# [[ 0  2  3]
#  [ 8 10 11]]

nguồn.

Ví dụ về mảng nhiều chiều

Cho đến nay, để thuận tiện, nó được mô tả theo hàng và cột, nhưng khái niệm này giống nhau trong trường hợp ba chiều trở lên

Chủ Đề