Hướng dẫn how do i sum a row in a dataframe in python? - làm cách nào để tính tổng một hàng trong khung dữ liệu trong python?

Tham khảo DataFrame


Thí dụ

Trả về tổng của mỗi cột:

nhập khẩu gấu trúc dưới dạng PD

Dữ liệu = [[10, 18, 11], [13, 15, 8], [9, 20, 3]]]

df = pd.dataframe (dữ liệu)

print(df.sum())

Hãy tự mình thử »


Định nghĩa và cách sử dụng

Phương thức

          Jan   Feb   March  April   May
Name                                    
Jack   2000.0  2010  2050.0   2134  2111
Riti   3000.0  3022  3456.0   3111  2109
Aadi      NaN  2334  2077.0   2134  3122
Mohit  3012.0  3050  2010.0   2122  1111
Veena  2023.0  2232  3050.0   2112  1099
Shaun  2123.0  2510     NaN   3134  2122
Mark   4000.0  2000  2050.0   2122  2111
0 thêm tất cả các giá trị trong mỗi cột và trả về tổng cho mỗi cột.

Bằng cách chỉ định trục cột (

          Jan   Feb   March  April   May
Name                                    
Jack   2000.0  2010  2050.0   2134  2111
Riti   3000.0  3022  3456.0   3111  2109
Aadi      NaN  2334  2077.0   2134  3122
Mohit  3012.0  3050  2010.0   2122  1111
Veena  2023.0  2232  3050.0   2112  1099
Shaun  2123.0  2510     NaN   3134  2122
Mark   4000.0  2000  2050.0   2122  2111
1), phương thức
          Jan   Feb   March  April   May
Name                                    
Jack   2000.0  2010  2050.0   2134  2111
Riti   3000.0  3022  3456.0   3111  2109
Aadi      NaN  2334  2077.0   2134  3122
Mohit  3012.0  3050  2010.0   2122  1111
Veena  2023.0  2232  3050.0   2112  1099
Shaun  2123.0  2510     NaN   3134  2122
Mark   4000.0  2000  2050.0   2122  2111
2 tìm kiếm thông minh cột và trả về tổng của mỗi hàng.


Cú pháp

DataFrame.sum (Trục, Skipna, Cấp độ, Numeric_only, Min_Count, Kwargs)


Thông số

          Jan   Feb   March  April   May
Name                                    
Jack   2000.0  2010  2050.0   2134  2111
Riti   3000.0  3022  3456.0   3111  2109
Aadi      NaN  2334  2077.0   2134  3122
Mohit  3012.0  3050  2010.0   2122  1111
Veena  2023.0  2232  3050.0   2112  1099
Shaun  2123.0  2510     NaN   3134  2122
Mark   4000.0  2000  2050.0   2122  2111
3,
          Jan   Feb   March  April   May
Name                                    
Jack   2000.0  2010  2050.0   2134  2111
Riti   3000.0  3022  3456.0   3111  2109
Aadi      NaN  2334  2077.0   2134  3122
Mohit  3012.0  3050  2010.0   2122  1111
Veena  2023.0  2232  3050.0   2112  1099
Shaun  2123.0  2510     NaN   3134  2122
Mark   4000.0  2000  2050.0   2122  2111
4,
          Jan   Feb   March  April   May
Name                                    
Jack   2000.0  2010  2050.0   2134  2111
Riti   3000.0  3022  3456.0   3111  2109
Aadi      NaN  2334  2077.0   2134  3122
Mohit  3012.0  3050  2010.0   2122  1111
Veena  2023.0  2232  3050.0   2112  1099
Shaun  2123.0  2510     NaN   3134  2122
Mark   4000.0  2000  2050.0   2122  2111
5,
          Jan   Feb   March  April   May
Name                                    
Jack   2000.0  2010  2050.0   2134  2111
Riti   3000.0  3022  3456.0   3111  2109
Aadi      NaN  2334  2077.0   2134  3122
Mohit  3012.0  3050  2010.0   2122  1111
Veena  2023.0  2232  3050.0   2112  1099
Shaun  2123.0  2510     NaN   3134  2122
Mark   4000.0  2000  2050.0   2122  2111
6,
          Jan   Feb   March  April   May
Name                                    
Jack   2000.0  2010  2050.0   2134  2111
Riti   3000.0  3022  3456.0   3111  2109
Aadi      NaN  2334  2077.0   2134  3122
Mohit  3012.0  3050  2010.0   2122  1111
Veena  2023.0  2232  3050.0   2112  1099
Shaun  2123.0  2510     NaN   3134  2122
Mark   4000.0  2000  2050.0   2122  2111
7, tham số là các đối số từ khóa.

Tham sốGiá trịSự mô tả
trục
          Jan   Feb   March  April   May
Name                                    
Jack   2000.0  2010  2050.0   2134  2111
Riti   3000.0  3022  3456.0   3111  2109
Aadi      NaN  2334  2077.0   2134  3122
Mohit  3012.0  3050  2010.0   2122  1111
Veena  2023.0  2232  3050.0   2112  1099
Shaun  2123.0  2510     NaN   3134  2122
Mark   4000.0  2000  2050.0   2122  2111
8
Tùy chọn, trục nào cần kiểm tra, mặc định 0.
SKIP_NA
          Jan   Feb   March  April   May
Name                                    
Jack   2000.0  2010  2050.0   2134  2111
Riti   3000.0  3022  3456.0   3111  2109
Aadi      NaN  2334  2077.0   2134  3122
Mohit  3012.0  3050  2010.0   2122  1111
Veena  2023.0  2232  3050.0   2112  1099
Shaun  2123.0  2510     NaN   3134  2122
Mark   4000.0  2000  2050.0   2122  2111
9
Tùy chọn, mặc định đúng. Đặt thành sai nếu kết quả không nên bỏ qua các giá trị null
mức độTên số
level name
Tùy chọn, mặc định không có. Chỉ định mức nào (trong một chỉ số đa phân cấp) để kiểm tra
Chỉ số
# Get sum of all rows in the Dataframe as a Series
total = df.sum()

print('Total salary paid in each month:')
print(total)
0
Không bắt buộc. Chỉ định có chỉ kiểm tra các giá trị số hay không. Mặc định không có
Min_Count
# Get sum of all rows in the Dataframe as a Series
total = df.sum()

print('Total salary paid in each month:')
print(total)
0
Không bắt buộc. Chỉ định có chỉ kiểm tra các giá trị số hay không. Mặc định không có
Min_CountKhông bắt buộc. Chỉ định số lượng tối thiểu của các giá trị cần phải có để thực hiện hành động. Mặc định 0kwargs

& nbsp;

Tùy chọn, đối số từ khóa. Những đối số này không có tác dụng, nhưng có thể được chấp nhận bởi một hàm numpy

Giá trị trả về

Một loạt với các khoản tiền.


Tham khảo DataFrame


Hướng dẫn how do i sum a row in a dataframe in python? - làm cách nào để tính tổng một hàng trong khung dữ liệu trong python?

Trong bài viết này, chúng tôi sẽ thảo luận về cách tổng hợp các hàng trong DataFrame và thêm các giá trị như một hàng mới trong cùng một khung dữ liệu.

Trước hết, chúng tôi sẽ tạo một khung dữ liệu,

import pandas as pd
import numpy as np

# List of Tuples
employees_salary = [('Jack', 2000, 2010, 2050, 2134, 2111),
                    ('Riti', 3000, 3022, 3456, 3111, 2109),
                    ('Aadi', np.NaN, 2334, 2077, 2134, 3122),
                    ('Mohit', 3012, 3050, 2010, 2122, 1111),
                    ('Veena', 2023, 2232, 3050, 2112, 1099),
                    ('Shaun', 2123, 2510, np.NaN, 3134, 2122),
                    ('Mark', 4000, 2000, 2050, 2122, 2111)]

# Create a DataFrame object from list of tuples
df = pd.DataFrame(employees_salary,
                  columns=['Name', 'Jan', 'Feb', 'March', 'April', 'May'])

# Set column Name as the index of dataframe
df.set_index('Name', inplace=True)

print(df)

Output:

          Jan   Feb   March  April   May
Name                                    
Jack   2000.0  2010  2050.0   2134  2111
Riti   3000.0  3022  3456.0   3111  2109
Aadi      NaN  2334  2077.0   2134  3122
Mohit  3012.0  3050  2010.0   2122  1111
Veena  2023.0  2232  3050.0   2112  1099
Shaun  2123.0  2510     NaN   3134  2122
Mark   4000.0  2000  2050.0   2122  2111

DataFrame này chứa tiền lương của nhân viên từ tháng Jan đến tháng Năm. Chúng tôi đã làm tên cột làm chỉ mục của DataFrame. Mỗi hàng của khung dữ liệu này chứa mức lương của một nhân viên từ tháng Năm đến tháng Năm.

Quảng cáo

Nhận tổng của tất cả các hàng trong khung dữ liệu gấu trúc

Giả sử trong khung dữ liệu trên, chúng tôi muốn nhận thông tin về tổng mức lương được trả mỗi tháng. Về cơ bản, chúng tôi muốn một chuỗi chứa tổng các hàng cùng với các cột, tức là mỗi mục trong chuỗi phải chứa tổng giá trị của một cột. Hãy để xem cách có được loạt đó,

# Get sum of all rows in the Dataframe as a Series
total = df.sum()

print('Total salary paid in each month:')
print(total)

Output:

Total salary paid in each month:
Jan      16158.0
Feb      17158.0
March    14693.0
April    16869.0
May      13785.0
dtype: float64

Chúng tôi đã gọi hàm SUM () trên DataFrame mà không có bất kỳ tham số nào. Vì vậy, theo mặc định, nó coi trục là 0 và thêm tất cả các cột hàng khôn ngoan, tức là đã thêm tất cả các giá trị trong mỗi cột và trả về một đối tượng chuỗi chứa các giá trị đó. Mỗi mục trong đối tượng loạt này chứa tổng mức lương được trả cho trong một tháng và tên tháng nằm trong nhãn chỉ mục cho mục đó.

Chúng ta có thể thêm loạt bài này như một hàng mới trong DataFrame, tức là.

# Get sum of all rows as a new row in Dataframe

total = df.sum()
total.name = 'Total'

# Assign sum of all rows of DataFrame as a new Row
df = df.append(total.transpose())

print(df)

Output:

           Jan      Feb    March    April      May
Name                                              
Jack    2000.0   2010.0   2050.0   2134.0   2111.0
Riti    3000.0   3022.0   3456.0   3111.0   2109.0
Aadi       NaN   2334.0   2077.0   2134.0   3122.0
Mohit   3012.0   3050.0   2010.0   2122.0   1111.0
Veena   2023.0   2232.0   3050.0   2112.0   1099.0
Shaun   2123.0   2510.0      NaN   3134.0   2122.0
Mark    4000.0   2000.0   2050.0   2122.0   2111.0
Total  16158.0  17158.0  14693.0  16869.0  13785.0

Nó đã thêm một hàng mới vào DataFrame với nhãn chỉ mục ‘Total. Mỗi mục trong hàng này chứa tổng số tiền lương được trả trong một tháng.

Nó hoạt động như thế nào?

Chúng tôi đã chuyển loạt để tạo một khung dữ liệu với một hàng duy nhất. Tất cả các chỉ mục trong chuỗi đã trở thành các cột trong DataFrame mới. Sau đó, chúng tôi đã thêm DataFrame mới này vào DataFrame gốc. Nó đã cho một hiệu ứng mà chúng tôi đã thêm một hàng mới trong DataFrame.

Nhận tổng của các hàng nhất định trong DataFrame theo số hàng

Trong ví dụ trước, chúng tôi đã thêm tất cả các hàng của DataFrame nhưng điều gì sẽ xảy ra nếu chúng tôi muốn nhận được một vài dòng của DataFrame? Giống như đối với DataFrame trên, chúng tôi muốn tổng các giá trị trong 3 hàng hàng đầu, tức là nhận tổng mức lương theo tháng chỉ đến 3 nhân viên từ đầu,

# Get sum of values of top 3 DataFrame rows,
total = df.iloc[0:3].sum()

print(total)

Output:

Jan 5000.0
Feb 7366.0
March 7583.0
April 7379.0
May 7342.0
dtype: float64

Chúng tôi đã chọn 3 hàng đầu tiên của DataFrame và gọi SUM () trên đó. Nó đã trả lại một loạt chứa tổng mức lương được trả theo tháng cho những nhân viên được chọn chỉ, tức là trong 3 hàng đầu tiên của DataFrame gốc.

Nhận tổng các hàng cụ thể trong Pandas DataFrame bằng nhãn chỉ mục/hàng

Không giống như ví dụ trước, chúng ta có thể chọn các hàng cụ thể bằng nhãn chỉ mục và sau đó nhận được một lượng giá trị trong các hàng được chọn chỉ, tức là.

# Get sum of 3 DataFrame rows (selected by index labels)
total = df.loc[['Aadi', 'Mohit', 'Mark']].sum()

print(total)

Output:

Jan 7012.0
Feb 7384.0
March 6137.0
April 6378.0
May 6344.0
dtype: float64

Chúng tôi đã chọn 3 hàng của DataFrame bằng nhãn chỉ mục, tức là ‘Aadi,‘ Mohit, và ‘Mark. Sau đó, chúng tôi chỉ thêm các giá trị của các hàng cho các nhân viên được chọn này. Nó đã trả lại một loạt chứa tổng mức lương được trả theo tháng cho những nhân viên được chọn chỉ một tháng khôn ngoan.

Conclusion:

Đây là cách chúng ta có thể tổng hợp các giá trị của nhiều hàng trong DataFrame.

Làm thế nào để bạn tổng hợp một cột và một hàng trong Python?

Sử dụng dataFrame.sum () để lấy tổng/tổng số dữ liệu cho cả hai hàng và cột, để có tổng số cột sử dụng trục = 1 param.Theo mặc định, phương thức này lấy AXIS = 0 có nghĩa là tổng hợp các hàng. sum() to get sum/total of a DataFrame for both rows and columns, to get the total sum of columns use axis=1 param. By default, this method takes axis=0 which means summing of rows.

Làm cách nào để tổng hợp một cột trong khung dữ liệu?

Để có được tổng hoặc tổng của phương thức sử dụng cột () và để thêm kết quả của tổng làm hàng vào DataFrame sử dụng loc [], tại [], append () và gấu trúc.Phương pháp sê -ri ().

Làm cách nào để tổng hợp các giá trị cụ thể trong gấu trúc?

Hàm SUM () Trả về tổng của các giá trị cho trục được yêu cầu.Tham số: trục: {index (0), cột (1)} returns the sum of the values for the requested axis. Parameters: axis : {index (0), columns (1)}