Nói rằng tôi là một danh sách Python 2D như dưới đây:
my_list = [ [1,2,3,4], [2,4,5,6] ]Tôi có thể nhận được tổng số hàng với sự hiểu biết danh sách:
row_totals = [ sum(x) for x in my_list ]Tôi có thể lấy tổng số cột mà không cần vòng lặp row_totals = [ sum(x) for x in my_list ] 2 không? Tức là để có được danh sách này:
[3,6,8,10]Hỏi ngày 11 tháng 7 năm 2010 lúc 12:30Jul 11, 2010 at 12:30
Sử dụng zip
col_totals = [ sum(x) for x in zip(*my_list) ]Đã trả lời ngày 11 tháng 7 năm 2010 lúc 12:35Jul 11, 2010 at 12:35
MetalSharkMetalSharkMetalshark
7.9347 Huy hiệu vàng34 Huy hiệu bạc49 Huy hiệu đồng7 gold badges34 silver badges49 bronze badges
1
>>> map(sum,zip(*my_list)) [3, 6, 8, 10]
Hoặc itertools tương đương
>>> from itertools import imap, izip >>> imap(sum,izip(*my_list)) <itertools.imap object at 0x00D20370> >>> list(_) [3, 6, 8, 10]Đã trả lời ngày 11 tháng 7 năm 2010 lúc 12:44Jul 11, 2010 at 12:44
John La Rooyjohn La RooyJohn La Rooy
Phù bằng vàng 287K5151 gold badges359 silver badges500 bronze badges
1
Giải pháp row_totals = [ sum(x) for x in my_list ] 3 là nhanh nhất. Tuy nhiên, nếu bạn cần giữ danh sách, row_totals = [ sum(x) for x in my_list ] 4 là nhanh nhất.
Thử nghiệm được thực hiện trong Python 3.1.2 64 bit.
>>> import timeit >>> my_list = [[1, 2, 3, 4], [2, 4, 5, 6]] >>> t1 = lambda: [sum(x) for x in zip(*my_list)] >>> timeit.timeit(t1) 2.5090877081503606 >>> t2 = lambda: map(sum,zip(*my_list)) >>> timeit.timeit(t2) 0.9024796603792709 >>> t3 = lambda: list(map(sum,zip(*my_list))) >>> timeit.timeit(t3) 3.4918002495520284 >>> t4 = lambda: [x + y for x, y in zip(*my_list)] >>> timeit.timeit(t4) 1.7795929868792655Đã trả lời ngày 12 tháng 7 năm 2010 lúc 2:43Jul 12, 2010 at 2:43
Rizarizariza
15.4K7 Huy hiệu vàng28 Huy hiệu bạc29 Huy hiệu đồng7 gold badges28 silver badges29 bronze badges
1
[x + y for x, y in zip(*my_list)]
Đã trả lời ngày 11 tháng 7 năm 2010 lúc 12:33Jul 11, 2010 at 12:33
0
Sử dụng Numpy và chuyển vị
import numpy as np my_list = np.array([[1,2,3,4],[2,4,5,6]]) [ sum(x) for x in my_list.transpose() ]Ra [*]: [3, 6, 8, 10]
Hoặc, đơn giản hơn:
my_list.sum(axis = 0)
Đã trả lời ngày 15 tháng 6 năm 2019 lúc 18:10Jun 15, 2019 at 18:10
Rwilskerrwilskerrwilsker
991 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges
Tổng số cột trong python mảng 2D với các ví dụ mã
Thông qua việc sử dụng ngôn ngữ lập trình, chúng tôi sẽ cùng nhau giải quyết tổng số cột trong câu đố Python mảng 2D trong bài học này. Điều này được thể hiện trong mã tiếp theo.
row_totals = [ sum(x) for x in my_list ] 0Giải pháp cho vấn đề được đề cập trước đó, tổng số cột trong python mảng 2D, cũng có thể được tìm thấy trong một phương pháp khác, sẽ được thảo luận thêm với một số ví dụ mã.
row_totals = [ sum(x) for x in my_list ] 1Bằng nhiều hình minh họa, chúng tôi đã trình diễn cách sử dụng mã được viết để giải quyết tổng số cột trong vấn đề python mảng 2D.
Làm thế nào để bạn tổng hợp một cột trong một mảng trong Python?
SUM () trong Python. Numpy. Hàm SUM () có sẵn trong gói Numpy của Python. Hàm này được sử dụng để tính tổng của tất cả các phần tử, tổng của mỗi hàng và tổng của mỗi cột của một mảng đã cho.
Làm thế nào để bạn tổng hợp một hàng trong một mảng 2D python?
Tổng của mỗi hàng trong một mảng 2D để lấy tổng của mỗi hàng trong một mảng 2D, truyền trục = 1 đến hàm sum (). Đối số này cho biết chức năng của trục dọc theo đó các yếu tố sẽ được tổng hợp.
Làm thế nào để bạn tìm thấy tổng của một cột trong một mảng?
Để tính tổng các phần tử trong mỗi cột:
- Hai vòng lặp sẽ được sử dụng để đi qua mảng trong đó vòng ngoài chọn một cột và vòng bên trong biểu thị các hàng có trong ma trận a.
- Tính tổng bằng cách thêm các phần tử có trong một cột.
- Hiển thị sumcol.
- Lặp lại điều này cho mỗi cột.
Làm thế nào để bạn tổng hợp tất cả các giá trị cột trong một mảng đa chiều?
Bạn có thể sử dụng tổng chức năng tổng hợp để có được tổng của tất cả các f_count trực tiếp trong truy vấn của bạn. Bạn sẽ kết hợp điều này với $ STMT-> fetchColumn () để nhận giá trị của cột đầu tiên (sẽ là tổng) của hàng đầu tiên (sẽ là hàng duy nhất vì chúng tôi đã sử dụng hàm tổng hợp) .22-tháng 4 2013
Làm thế nào để bạn tổng hợp dữ liệu trong một mảng trong Python?
ALGORITHM:
- Bước 1: Khai báo và khởi tạo một mảng.
- Bước 2: Tổng biến sẽ được sử dụng để tính tổng của các phần tử. Khởi tạo nó thành 0.
- Bước 3: Vòng lặp qua mảng và thêm từng phần tử của mảng vào tổng biến là sum = sum + mảng [i].
Làm thế nào để tôi có được tổng của tất cả các cột trong Numpy?
Phương pháp 2: Sử dụng hàm SUM () trong Numpy, Numpy. SUM (ARR, trục, DTYPE, OUT) Trả về tổng các phần tử mảng trên trục được chỉ định. Để tính tổng của tất cả các cột, đối số trục phải là 0 trong hàm sum ().21-jul-2021
Làm thế nào để bạn tìm thấy tổng hàng và tổng cột của một ma trận trong Python?
Bước 1: Nhập Numpy. Bước 2: Tạo một ma trận không có kích thước MXN. Bước 3: Lấy tổng của tất cả các hàng. Bước 4: Lấy tổng của tất cả các cột.16-Mar-2021
Làm thế nào để bạn tìm thấy tổng số phần tử trong một mảng 2D?
Tổng số phần tử có thể được lưu trữ trong một mảng đa chiều có thể được tính bằng cách nhân kích thước của tất cả các kích thước. Ví dụ: mảng int x [10] [20] có thể lưu trữ tổng số (10*20) = 200 yếu tố. Tương tự mảng int x [5] [10] [20] Có thể lưu trữ tổng số (5*10*20) = 1000 yếu tố.11-JUL-2022
Làm thế nào để bạn tổng hợp một hàng trong Python?
Sử dụng pandas.dataframe.sum () để tổng hợp các hàng của dataFrame gọi pandas.dataframe.sum (trục = 1) để tìm tổng của tất cả các hàng trong dataFrame; Trục = 1 chỉ định rằng tổng sẽ được thực hiện trên các hàng. Chỉ định tổng được giới hạn ở một số cột nhất định bằng cách lập danh sách các cột được đưa vào tổng.
Làm thế nào để bạn tổng hợp một ma trận trong Python?
Python numpy sum () Chức năng cú pháp Các phần tử mảng được sử dụng để tính tổng. Nếu trục không được cung cấp, tổng của tất cả các phần tử được trả về. Nếu trục là một bộ dữ liệu của INT, tổng của tất cả các phần tử trong các trục đã cho được trả về. Chúng ta có thể chỉ định DTYPE để chỉ định kiểu dữ liệu đầu ra đã trả lại.03-Aug-2022