cuốn sách gpt4 ai đã làm

python - Có cách nào để xuất df.min, df.max và df.mean trong Pandas.groupby trong một cột mỗi lần không?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 01:46:57 27 4
mua khóa gpt4 Nike

Vì vậy, tôi cần nhóm các hàng theo cột "fh_status" rồi thực hiện giá trị tối thiểu, trung bình và tối đa của "gini" cho mỗi nhóm (sẽ có ba). Tôi đã nghĩ ra mã này:

m = (df2.groupby(['fh_status']).max().iloc[:, 2]) #iloc2 tương ứng với cột gini
n = (df2.groupby(['fh_status']).min().iloc[:, 2])
e = (df2.groupby(['fh_status']).mean().iloc[:, 2])
nl = '\n'
print(f' nghĩa là: {e} {nl} tối đa: {m} {nl} tối thiểu:{n}')

Đầu ra:

nghĩa là: fh_status
miễn phí 38.170175
không miễn phí 39,750000
miễn phí một phần 43.931250
Tên: gini, dtype: float64
tối đa: fh_status
miễn phí 10.0
không miễn phí 5.0
miễn phí một phần 9.0
Tên: ô nhiễm09, dtype: float64
tối thiểu:fh_status
miễn phí 6.0
không miễn phí -10.0
miễn phí một phần -6.0
Tên: ô nhiễm09, dtype: float64

Sử dụng cả ba trong một chuỗi không có tác dụng (theo như tôi biết thì nó chỉ in lệnh sau), do đó ba biến xuất hiện, hơi khó sử dụng. Kết quả đầu ra có vẻ đúng nhưng tôi khá chắc chắn rằng có cách để tối ưu hóa nó và giảm số lượng mã. Hay không?

câu trả lời hay nhất

Có, bạn có thể sử dụng .agg(..) và vượt qua danh sách các hoạt động:

df2.groupby('fh_status')['gini'].agg(['min', 'max', 'mean'])

Điều này sẽ tạo ra một khung dữ liệu với các cột dưới dạng tổng hợp (phút,max,nghĩa là), nhóm hành vi (giá trị bạn đã tạo ở trên .groupby(..)).

Giới thiệu về python - Có cách nào để xuất df.min, df.max và df.mean trong Pandas.groupby trong một cột nhất định tại một thời điểm không? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/58894526/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress