gpt4 book ai didi

python - 多个 DF 列上的 Sumproduct

转载 作者:行者123 更新时间:2023-12-04 09:33:18 24 4
gpt4 key购买 nike

ID    height_1    area_1   in_1    height_2    area_2   in_2    height_3    area_3   in_3
1 4 20 1 7 87 1 2 21 1
2 10 83 1 12 32 1 9 41 0
3 16 78 1 12 17 0 np.nan np.nan np.nan
如何在通用方法中为每一行计算 sumproduct 看起来像这样......?
sumproduct = height_1 * area_1 * in_1 + height_2 * area_2 * in_2 + height_3 * area_3 * in_3 + ...  ```
例如 row1 = 4 * 20 * 1 + 7 * 87 * 1 + 2 * 21 * 1 我的数据框有大约 20 倍`height_、area_、in_

最佳答案

使用 wide_to_longproductsum

s = (pd.wide_to_long(df, i='ID', j='val', 
stubnames=['height','area','in'] ,sep='_', suffix='\d+')
.product(1).sum(level=0))

Out[575]:
ID
1 731.0
2 1214.0
3 1248.0
dtype: float64
将其分配给 df :
df['sumproduct'] = df.ID.map(s)
或者
df['sumproduct'] = s.values
或者
df['sumproduct'] = s.to_numpy()

关于python - 多个 DF 列上的 Sumproduct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62721572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com