phương pháp
Matrix.sum [AXIS = none, dtype = none, out = none] [nguồn]#sum[axis=None, dtype=None, out=None][source]#Trả về tổng của các phần tử ma trận, dọc theo trục đã cho.
Tham khảo numpy.sum
để biết tài liệu đầy đủ.
Ghi chú
Điều này giống như ndarray.sum
, ngoại trừ khi một ndarray
sẽ được trả lại, một đối tượng matrix
được trả về thay thế.
Ví dụ
>>> x = np.matrix[[[1, 2], [4, 3]]] >>> x.sum[] 10 >>> x.sum[axis=1] matrix[[[3], [7]]] >>> x.sum[axis=1, dtype='float'] matrix[[[3.], [7.]]] >>> out = np.zeros[[2, 1], dtype='float'] >>> x.sum[axis=1, dtype='float', out=np.asmatrix[out]] matrix[[[3.], [7.]]]
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 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.
Keepdimsbool, tùy chọnbool, optionalNế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
>>> 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.]]0 để biết chi tiết.
Mới trong phiên bản 1.15.0.
Các yếu tố cần bao gồm trong tổng. Xem
>>> 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.]]0 để 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.
>>> 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.]]3
Chức năng tương đương của
>>> 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.]]4.
>>> 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.]]5
Tổng tích lũy của các phần tử mảng.
>>> 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.]]6
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.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.]]7,
>>> 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.]]8
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.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.]]9] 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] -1280 được đưa ra. Khi
>>> np.ones[128, dtype=np.int8].sum[dtype=np.int8] -1280 đượ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, chức năng Python từ ____22 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] -1283, 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