Tổng các phần tử mảng trên một trục nhất định.
Parametersaarray_likeaarray_likeCác yếu tố để tổng.
trục hoặc int hoặc tuple của int, tùy chọnNone or int or tuple of ints, optionalTrục hoặc trục dọc theo đó một tổng được thực hiện. Mặc định, trục = Không, sẽ tổng hợp tất cả các phần tử của mảng đầu vào. Nếu trục âm thì nó được tính từ trục cuối cùng đến trục đầu tiên.
Mới trong phiên bản 1.7.0.
Nếu trục là một tuple của INT, một tổng được thực hiện trên tất cả các trục được chỉ định trong tuple thay vì một trục đơn hoặc tất cả các trục như trước đây.
DtypedType, tùy chọndtype, optionalLoại của mảng được trả về và của bộ tích lũy trong đó các phần tử được tổng hợp. DTYPE của A được sử dụng theo mặc định trừ khi A có số nguyên DTYPE có độ chính xác thấp hơn số nguyên nền tảng mặc định. Trong trường hợp đó, nếu A được ký thì số nguyên nền tảng được sử dụng trong khi nếu A không dấu thì một số nguyên không dấu có độ chính xác tương tự như số nguyên nền tảng được sử dụng.
Outndarray, tùy chọnndarray, optionalMảng đầu ra thay thế để đặt kết quả. Nó phải có hình dạng giống như đầu ra dự kiến, nhưng loại giá trị đầu ra sẽ được đúc nếu cần thiết.
Nếu điều này được đặt thành TRUE, các trục bị giảm được để lại trong kết quả là kích thước với kích thước một. Với tùy chọn này, kết quả sẽ phát sóng chính xác so với mảng đầu vào.
Nếu giá trị mặc định được thông qua, thì KeepDim sẽ không được chuyển qua phương thức sum
của các lớp phụ của ndarray
, tuy nhiên bất kỳ giá trị không mặc định nào cũng sẽ được. Nếu phương thức lớp phụ không thực hiện được, bất kỳ trường hợp ngoại lệ nào cũng sẽ được nêu ra.
Giá trị bắt đầu cho tổng. Xem reduce
để biết chi tiết.
Mới trong phiên bản 1.15.0.
wherearray_like của bool, tùy chọnarray_like of bool, optionalCác yếu tố cần bao gồm trong tổng. Xem reduce
để biết chi tiết.
Mới trong phiên bản 1.17.0.
Returnssum_along_axisndarraysum_along_axisndarrayMột mảng có hình dạng giống như A, với trục được chỉ định được loại bỏ. Nếu A là mảng 0-D hoặc nếu trục không phải là vô hướng. Nếu một mảng đầu ra được chỉ định, một tham chiếu ra ngoài được trả về.
Xem thêm
ndarray.sum
Phương pháp tương đương.
add.reduce
Chức năng tương đương của add
.
>>> np.ones[128, dtype=np.int8].sum[dtype=np.int8] -1280
Tổng tích lũy của các phần tử mảng.
>>> np.ones[128, dtype=np.int8].sum[dtype=np.int8] -1281
Tích hợp các giá trị mảng bằng cách sử dụng quy tắc hình thang tổng hợp.
>>> np.ones[128, dtype=np.int8].sum[dtype=np.int8] -1282,
>>> np.ones[128, dtype=np.int8].sum[dtype=np.int8] -1283
Ghi chú
Số học là mô -đun khi sử dụng các loại số nguyên và không có lỗi nào được nêu trên tràn.
Tổng của một mảng trống là phần tử trung tính 0:
Đối với số điểm nổi, độ chính xác số của tổng [và
>>> np.ones[128, dtype=np.int8].sum[dtype=np.int8] -1284] nói chung bị giới hạn bằng cách trực tiếp thêm từng số vào kết quả gây ra lỗi làm tròn trong mỗi bước. Tuy nhiên, thông thường Numpy sẽ sử dụng một cách tiếp cận tốt hơn về mặt số lượng [tổng kết cặp một phần] dẫn đến độ chính xác được cải thiện trong nhiều trường hợp sử dụng. Độ chính xác được cải thiện này luôn được cung cấp khi không có
>>> np.ones[128, dtype=np.int8].sum[dtype=np.int8] -1285 được đưa ra. Khi
>>> np.ones[128, dtype=np.int8].sum[dtype=np.int8] -1285 được đưa ra, nó sẽ phụ thuộc vào trục nào được tổng hợp. Về mặt kỹ thuật, để cung cấp tốc độ tốt nhất có thể, độ chính xác được cải thiện chỉ được sử dụng khi tổng kết dọc theo trục nhanh trong bộ nhớ. Lưu ý rằng độ chính xác chính xác có thể thay đổi tùy thuộc vào các tham số khác. Trái ngược với chức năng Numpy, Python từ
>>> np.ones[128, dtype=np.int8].sum[dtype=np.int8] -1287 sử dụng cách tiếp cận chậm hơn nhưng chính xác hơn để tổng kết. Đặc biệt là khi tổng số một số lượng lớn các số điểm nổi chính xác thấp hơn, chẳng hạn như
>>> np.ones[128, dtype=np.int8].sum[dtype=np.int8] -1288, các lỗi số có thể trở nên đáng kể. Trong những trường hợp như vậy, có thể nên sử dụng DTYPE = Tiết Float64, để sử dụng độ chính xác cao hơn cho đầu ra.
Ví dụ
>>> np.sum[[0.5, 1.5]] 2.0 >>> np.sum[[0.5, 0.7, 0.2, 1.5], dtype=np.int32] 1 >>> np.sum[[[0, 1], [0, 5]]] 6 >>> np.sum[[[0, 1], [0, 5]], axis=0] array[[0, 6]] >>> np.sum[[[0, 1], [0, 5]], axis=1] array[[1, 5]] >>> np.sum[[[0, 1], [np.nan, 5]], where=[False, True], axis=1] array[[1., 5.]]
Nếu bộ tích lũy quá nhỏ, xảy ra tràn:
>>> np.ones[128, dtype=np.int8].sum[dtype=np.int8] -128
Bạn cũng có thể bắt đầu tổng với một giá trị khác với số 0:
>>> np.sum[[10], initial=5] 15