Tôi cần thực hiện một số phép tính một danh sách lớn các số.mảng numpy Python vs danh sách
Do array.array hoặc numpy.array có tăng hiệu suất đáng kể so với mảng thông thường không?
Tôi không phải làm thao tác phức tạp trên các mảng, tôi chỉ cần để có thể truy cập và sửa đổi các giá trị,
ví dụ
import numpy
x = numpy.array([0] * 1000000)
for i in range(1,len(x)):
x[i] = x[i-1] + i
Vì vậy, tôi sẽ không thực sự được cần nối, cắt, vv
Ngoài ra, nó trông giống như mảng ném một lỗi nếu tôi cố gắng gán giá trị không phù hợp trong C dài:
import numpy
a = numpy.array([0])
a[0] += 1232234234234324353453453
print(a)
Mở console tôi nhận được:
a[0] += 1232234234234324353453453
OverflowError: Python int too large to convert to C long
có một biến thể của mảng cho phép tôi đưa vào unbo số nguyên Python chưa được xử lý? Hoặc sẽ làm theo cách đó lấy đi điểm có mảng ở nơi đầu tiên?
Xem thêm [cpython vs cython vs hiệu suất mảng numpy] (http://stackoverflow.com/questions/22514730/cpython-vs-cython-vs-numpy-array-performance) – Trilarion