首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于两熊猫数据公式的计算

基于两熊猫数据公式的计算
EN

Stack Overflow用户
提问于 2020-02-06 18:33:11
回答 1查看 41关注 0票数 1

我有两个具有几乎相同的行和索引的数据帧。df1:

代码语言:javascript
复制
Product AU-1    AU-2    AU-3
PROD1   5       7       8
PROD2   4       7       2
PROD3   2       60      7

df2:

代码语言:javascript
复制
Product AU-1    AU-2    AU-3
PROD1   100     200     111
PROD2   757     7575    908
common  10      20      30
PROD3   656     657     6565

我想得到的输出:

代码语言:javascript
复制
Product AU-1    AU-2    AU-3
PROD1   100.5   201.4   113.4
PROD2   757.4   7576.4  908.6
common  0       0       0
PROD3   656.2   669     6567.1

每个单元格的公式:

代码语言:javascript
复制
each cell value of df2 + (corresponding "common" value * corresponding df1 value/100)

PROD1和AU-1的例子

代码语言:javascript
复制
100 + (5*10/100) = 100.5

我怎样才能以最有效的方式做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-06 18:47:44

如果Product目前不是索引,那么就把它变成索引,这样在乘时就可以得到索引对齐,从那里开始,实现您的公式是非常简单的。

代码语言:javascript
复制
df1, df2 = (d.set_index('Product') for d in (df1, df2))

df2.add(df1.mul(df2.loc['common']).div(100)).fillna(0)

代码语言:javascript
复制
          AU-1    AU-2    AU-3
Product
PROD1    100.5   201.4   113.4
PROD2    757.4  7576.4   908.6
PROD3    656.2   669.0  6567.1
common     0.0     0.0     0.0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60101488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档