Tôi có mảng numpy sau đây
import numpy as np
X = np.array[[[5.], [4.], [3.], [2.], [1.]]]
Tôi muốn chèn [6.]
ngay từ đầu . Tôi đã thử:
X = X.insert[X, 0]
làm thế nào để tôi chèn vào X?
numpy có chức năng insert
có thể truy cập thông qua np.insert
với tài liệu .
Bạn sẽ muốn sử dụng nó trong trường hợp này như vậy:
X = np.insert[X, 0, 6., axis=0]
đối số đầu tiên X
chỉ định đối
tượng được chèn vào.
Đối số thứ hai 0
chỉ định nơi.
Đối số thứ ba 6.
chỉ định những gì sẽ được chèn.
Đối số thứ tư axis=0
chỉ định rằng việc chèn sẽ xảy ra tại vị trí 0
cho mỗi cột. Chúng tôi có thể đã chọn các hàng nhưng X của bạn là một vectơ cột, vì vậy tôi cho rằng chúng tôi sẽ ổn định.
Bạn có thể thử như sau
X = np.append[arr = np.array[[[6]]], values = X, axis= 0]
Thay vì chèn 6 vào X hiện có, hãy nối 6 bằng X.
Vì vậy, đối số thứ nhất arr
là mảng numpy của vô
hướng 6, đối số thứ hai là mảng của bạn sẽ được thêm và thứ ba là nơi chúng tôi muốn thêm
Tôi biết đây là một cái khá cũ, nhưng một giải pháp ngắn là sử dụng các thủ thuật cắt lát gọn gàng:
np.r_[[[6.]], X]
Nếu bạn cần làm điều đó trong một chiều thứ hai, bạn có thể sử dụng np.c_.
Tôi nghĩ rằng đây là phiên bản ít lộn xộn nhất mà tôi có thể nghĩ đến
Tôi vừa viết một số mã thực hiện thao tác này ~ 100.000 lần, vì vậy tôi cần tìm ra cách nhanh nhất
để làm điều này. Tôi không phải là một chuyên gia về hiệu quả mã bằng bất kỳ phương tiện nào, nhưng tôi có thể tìm ra một số điều bằng cách sử dụng hàm ma thuật %%timeit
trong một máy tính xách tay jupyter.
Phát hiện của tôi:
np.concatenate[[[number],array]]
Yêu cầu ít thời gian nhất. Hãy gọi nó là 1 lần.
np.asarray[[number] + list[array]]
Xuất hiện ở mức ~ 2x.
np.r_[number,array]
is ~ 4x.
np.insert[array,0,number]
Dường như là lựa chọn tồi tệ nhất ở đây tại 8x.
Tôi không biết làm thế nào điều này thay đổi với kích thước của array
[tôi đã sử dụng một mảng hình [15,]] và hầu hết các tùy chọn tôi đề xuất chỉ hoạt động nếu bạn muốn đặt số ở đầu. Tuy nhiên, vì đó là những gì câu hỏi đang hỏi, tôi cho rằng đây là một nơi tốt để thực hiện những so sánh này.
Bài viết liên quan
Cắt [slice] list trong python
Chuyển string sang list trong Python
Đảo ngược list trong python [reverse, reversed]
Đếm số phần tử trong list Python
Phương thức extend trong python
Tạo list trong python
Kiểm tra và lấy phần tử trùng nhau trong list python