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
1print[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
- Chỉ định chỉ mục [số hàng/cột].
4print[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
- Chỉ định trục [thứ nguyên].
5print[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
- Chỉ định chỉ mục [số hàng/cột].
- 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
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
0print[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àoprint[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. Số hàng hoặc cột cần xóaprint[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óaprint[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
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ạiimport 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
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
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
9Chỉ đị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
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
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
9Trong 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]
8print[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
4Sử 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
4Nó 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]
8print[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
1print[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