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

Cách áp dụng phép toán theo hàng hoặc cột trong Pandas Python

Đôi khi cần áp dụng các hàm dọc theo các trục của DataFrame. Trục có thể chỉ định, ngược lại trục mặc định là theo cột (column-wise), nơi mỗi cột được xem như một mảng.

Nếu chỉ định trục, phép toán sẽ thực hiện theo hàng (row-wise) trên dữ liệu.

Hàm apply có thể dùng kết hợp với toán tử chấm trên DataFrame. Hãy xem ví dụ:

Ví dụ

import pandas as pd
import numpy as np

my_data = {
    '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("Mô tả dữ liệu (trung bình từng cột):")
print(my_df.apply(np.mean))

Đầu ra

DataFrame là:
    Age  value
0  45   8.79
1  67  23.24
2  89  31.98
3  12  78.56
4  23  90.20

Mô tả dữ liệu (trung bình từng cột):
Age     47.200
value   46.554
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, trong đó value thực chất là cấu trúc Series.
  • Dictionary này sau đó truyền làm tham số cho hàm DataFrame trong pandas.
  • In DataFrame ra console.
  • Muốn lấy thông tin về dữ liệu.
  • Gọi hàm describe trên DataFrame. (Lưu ý: code ví dụ dùng apply(np.mean) nhưng giải thích nhắc describe)
  • Mô tả in ra console.

Sửa lỗi trong ví dụ gốc: Code dùng apply(np.mean) nhưng giải thích nhắc describe(). Hai hàm khác nhau:

  • df.apply(np.mean) - Tính trung bình từng cột
  • df.describe() - Thống kê tổng quan (count, mean, std, min, 25%, 50%, 75%, max)

Áp dụng theo hàng (row-wise): df.apply(func, axis=1)

Áp dụng theo cột (column-wise): df.apply(func, axis=0) hoặc df.apply(func)