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

Cách chia các phần tử đã chọn theo giá trị tổng theo hàng trừ các giá trị trên đường chéo PANDAS

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 13:56:18 32 4
mua khóa gpt4 Nike

Tôi đang làm một số thống kê.

Tôi có khung dữ liệu:

tagabcdef   
a 5 2 3 2 0 1
b 2 4 3 2 0 1
c 3 4 3 2 0 3
d 2 4 3 2 0 1
đ 0 4 3 2 0 8
f 1 4 3 2 0 1

Tôi muốn tạo khung dữ liệu mới:

tagabcdef   
một 0x
b 0
c 0
d 0
e 0 Y
f 0

trong đó x bằng phần tử tương ứng tại vị trí đó chia cho tổng các phần tử trong hàng đó, không bao gồm các phần tử trên đường chéo. Vậy X là:X = 2/(2+3+2+0+1)

例如 Y = 8/(0+4+3+2+8)

Sau đó mình cần thêm một cột nữa để tính: -sum[mỗi phần tử trong hàng * log(của phần tử đó)]

Tôi xin lỗi vì câu hỏi tầm thường này, tôi đã từng làm việc trong R và để thực hiện nhiệm vụ này, tôi cần phải làm việc với gấu trúc.

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

sử dụngnp.fill_diagonalChe dấu các phần tử đường chéo và sau đó sử dụngDataFrame.divThực hiện phép chia căn chỉnh theo chỉ số:

u = df.set_index('tag')
np.fill_diagonal(u.values, 0)

v = u.div(u.sum(axis=1), axis=0)
v

abcdef
nhãn
a 0,00 0,250000 0,375000 0,250000 0,0 0,125000
b 0,25 0,000000 0,375000 0,250000 0,0 0,125000
c 0,25 0,333333 0,000000 0,166667 0,0 0,250000
d 0,20 0,400000 0,300000 0,000000 0,0 0,100000
e 0,00 0,235294 0,176471 0,117647 0,0 0,470588
f 0,10 0,400000 0,300000 0,200000 0,0 0,000000

"Sau đó tôi cần thêm một cột nữa để tính: -sum[mỗi phần tử trong hàng * log(của phần tử đó)]"

bạn có thể làm điều này

v['log_sum'] = -np.ma.masked_invalid(v * np.log(v)).sum(1)
v

abcdef log_sum
nhãn
a 0,00 0,250000 0,375000 0,250000 0,0 0,125000 -8,965402
b 0,25 0,000000 0,375000 0,250000 0,0 0,125000 -8,965402
c 0,25 0,333333 0,000000 0,166667 0,0 0,250000 -8,461294
d 0,20 0,400000 0,300000 0,000000 0,0 0,100000 -9,560926
e 0,00 0,235294 0,176471 0,117647 0,0 0,470588 -9,708363
f 0,10 0,400000 0,300000 0,200000 0,0 0,000000 -9,560926

Về python - Cách chia các phần tử đã chọn cho giá trị tổng trong các hàng, ngoại trừ các giá trị trên đường chéo PANDAS, 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/55107688/

32 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