from numpy import *
def swap_columns(my_array, col1, col2):
temp = my_array[:,col1]
my_array[:,col1] = my_array[:,col2]
my_array[:,col2] = temp
Sau đóHoán đổi cột trong một mảng có nhiều mảng?
swap_columns(data, 0, 1)
Không làm việc. Tuy nhiên, hãy gọi mã trực tiếp
temp = my_array[:,0]
my_array[:,0] = my_array[:,1]
my_array[:,1] = temp
Có. Tại sao điều này xảy ra và làm thế nào tôi có thể sửa chữa nó? Lỗi nói "IndexError: 0-d mảng chỉ có thể sử dụng một() hoặc một danh sách các newaxes (và một duy nhất ...) như là một chỉ mục", trong đó ngụ ý các đối số không phải là ints? Tôi đã thử chuyển đổi cols thành int nhưng điều đó không giải quyết được.
liên quan: [cách nhanh nhất để trao đổi hai cột và cùng là gì các hàng của ma trận 2D?] (http://stackoverflow.com/q/42955355/562769) –