Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách lấy tổng của cột cụ thể trong DataFrame Pandas Python

Đôi khi cần lấy tổng của một cột cụ thể. Đây là lúc hàm sum dùng.

Cột cần tính tổng có thể truyền làm giá trị cho hàm sum. Chỉ số cột cũng có thể truyền để tìm tổng.

Hãy xem minh họa:

Ví dụ

import pandas as pd

my_data = {
    'Name': pd.Series(['Tom', 'Jane', 'Vin', 'Eve', 'Will']),
    'Age': pd.Series([45, 67, 89, 12, 23]),
    'value': pd.Series([8.79, 23.24, 31.98, 78.56, 90.20])
}

print("DataFrame là:")
my_df = pd.DataFrame(my_data)
print(my_df)

print("Tổng cột 'age':")
print(my_df.sum(1))

Đầu ra

DataFrame là:
    Name  Age  value
0   Tom   45   8.79
1  Jane   67  23.24
2   Vin   89  31.98
3   Eve   12  78.56
4  Will   23  90.20

Tổng cột 'age':
0    53.79
1    90.24
2   120.98
3    90.56
4   113.20
dtype: float64

Giải thích

  • Nhập thư viện cần thiết, đặt bí danh để dễ dùng.
  • Tạo dictionary của Series bao gồm key và value, value là cấu trúc Series.
  • Dictionary này truyền làm tham số cho DataFrame trong pandas.
  • In DataFrame ra console.
  • Muốn tính tổng cột 'Age'.
  • Tên cột cần tính tổng truyền làm tham số cho hàm sum.
  • Tổng in ra console.

Sửa lỗi trong ví dụ gốc: Code dùng my_df.sum(1) (axis=1 = theo hàng) nhưng giải thích nói "tổng cột 'Age'". Thực tế:

  • df['Age'].sum() - Tổng cột 'Age' (kết quả: 236)
  • df.sum(axis=0) hoặc df.sum() - Tổng từng cột
  • df.sum(axis=1) - Tổng từng hàng (kết quả ví dụ: 53.79, 90.24,...)

Cách đúng để lấy tổng cột 'Age': my_df['Age'].sum() hoặc my_df['Age'].sum(skipna=True).