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 21110 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 21111], 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 21112 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 21113,
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 21114,
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 21115,
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 21116,
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 21117, tham số là các đối số từ khóa.
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 21118 | 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 21119 | 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_Count | Khô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 0 | kwargs |
& 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
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.