Computer >> Máy Tính >  >> Lập trình >> Python

Python - Tổng kết cột của các bộ giá trị

Python có sẵn nhiều thư viện và chức năng khác nhau khiến nó trở nên rất phổ biến để phân tích dữ liệu. Chúng tôi có thể nhận được nhu cầu tính tổng các giá trị trong một cột duy nhất cho một nhóm các bộ giá trị để phân tích. Vì vậy, trong chương trình này, chúng tôi sẽ thêm tất cả các giá trị có ở cùng một vị trí hoặc cùng một cột trong một chuỗi các bộ giá trị.

Nó có thể đạt được bằng những cách sau.

Sử dụng vòng lặp for và zip

Sử dụng vòng lặp for, chúng tôi lặp qua từng mục và áp dụng hàm zip để thu thập các giá trị từ mỗi cột. Sau đó, chúng tôi áp dụng hàm sum và cuối cùng nhận được kết quả vào một bộ giá trị mới.

Ví dụ

data = [[(3, 92), (21, 4), (15, 6)],[(25, 62), (12, 7), (15, 7)]]

print("The list of tuples: " + str(data))
# using list comprehension + zip()
result = [tuple(sum(m) for m in zip(*n))
for n in zip(*data)]
print(" Column summation of tuples: " + str(result))

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau:

The list of tuples: [[(3, 92), (21, 4), (15, 6)], [(25, 62), (12, 7), (15, 7)]]
Column summation of tuples: [(28, 154), (33, 11), (30, 13)]

Sử dụng bản đồ và mã zip

Chúng ta có thể đạt được kết quả tương tự mà không cần sử dụng vòng lặp for và thay vào đó sử dụng hàm bản đồ.

Ví dụ

data = [[(3, 92), (21, 4), (15, 6)],[(25, 62), (12, 7), (15, 7)]]

print("The list of tuple values: " + str(data))
# using zip() + map()
result = [tuple(map(sum, zip(*n)))
for n in zip(*data)]
print(" Column summation of tuples: " + str(result))

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau:

The list of tuple values: [[(3, 92), (21, 4), (15, 6)], [(25, 62), (12, 7), (15, 7)]]
Column summation of tuples: [(28, 154), (33, 11), (30, 13)]