Đô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
DataFrametrongpandas. - In DataFrame ra console.
- Muốn lấy thông tin về dữ liệu.
- Gọi hàm
describetrê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ộtdf.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)