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

python - Pandas 数据帧与多个 groupby 相加

In lại Tác giả: Walker 123 更新时间:2023-11-28 20:01:34 31 4
mua khóa gpt4 Nike

我有以下数据框:

df2 = pd.DataFrame({'season':[1,1,1,2,2,2,3,3],'value' : [-2, 3,1,5,8,6,7,5], 'avail':[3,3,3,8,8,4,25,25],'test2':[4,5,7,8,9,10,11,12]},index=['2020', '2020', '2020','2020', '2020', '2021', '2021', '2021']) 
df2.index= pd.to_datetime(df2.index)
df2.index = df2.index.year
print(df2)

avail season test2 value
2020 3 1 4 -2
2020 3 1 5 3
2020 3 1 7 1
2020 8 2 8 5
2020 8 2 9 8
2021 4 2 10 6
2021 25 3 11 7
2021 25 3 12 5

我想有效地计算每年“可用”列的总和。这里的困难在于每个季节只对一个“可用”值求和。例如,对于 2020 年,我想求和 3+8 =11。

预期结果(“sum_avail”列):

        avail season test2 value sum_avail
2020 3 1 4 -2 11
2020 3 1 5 3 11
2020 3 1 7 1 11
2020 8 2 8 5 11
2020 8 2 9 8 11
2021 4 2 10 6 29
2021 25 3 11 7 29
2021 25 3 12 5 29

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

IIUC,转换 + cài đặt

df2.groupby(level=0).avail.transform(lambda x : sum(set(x)))
Out[220]:
2020 11
2020 11
2020 11
2020 11
2020 11
2021 29
2021 29
2021 29
Name: avail, dtype: int64

关于python - Pandas 数据帧与多个 groupby 相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50800409/

31 4 0
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