Python:将一个数据框中的一列与另一个累加起来

Srikant D

我有2个数据帧,如下所示。我需要一个结果数据,该数据的数据帧1的周期总和除以python在引脚,站点和部门索引的数据帧2的周期总和。

数据框1:

 Pin    Site    Department   Period1     Period2     Period3     Period4

 1001     L       42           1           0           2           3
 1003     L       42           4           4           3           4
 1002     R       45           4           5           2           4                    

数据框2:

Pin     Site    Department  Period1          Period2    Period3    Period4 

1002      R           45          5            6           5           5 
1003      L           42          4            5           6           8 
1001      L           42          1            2           4           5                    

输出量

 Pin    Site    Department  Period1      Period2       Period3         Period4
 1001     L        42          1/1     (1+0)/(1+2)  (1+0+2)/(1+2+4) (1+0+2+3)/(1+2+4+5)
 1002     R        45          4/5     (4+5)/(5+6)  (4+5+2)/(5+6+5) (4+5+2+4)/(5+6+5+5)
 1003     L        42          4/4     (4+4)/(4+5)  (4+4+3)/(4+5+6) (4+4+3+4)/(4+5+6+8)

无论两个数据帧中的引脚顺序如何,我都需要如上所述的结果数据帧。期间数将逐月增加。

耶斯列尔

我认为需要set_index在部门对齐指数由divcumsum,最后添加reset_index从列MultiIndex

df11 = df1.set_index(['Pin','Site','Department']).cumsum(axis=1)
df22 = df2.set_index(['Pin','Site','Department']).cumsum(axis=1)

df = df11.div(df22).reset_index()
print (df)
    Pin Site  Department  Period1   Period2   Period3   Period4
0  1001    L          42      1.0  0.333333  0.428571  0.500000
1  1002    R          45      0.8  0.818182  0.687500  0.714286
2  1003    L          42      1.0  0.888889  0.733333  0.652174

编辑:

对于筛选出的值,>1需要反转条件-保持alues-<=1比较并检查每行是否s:all True

df = df11.div(df22)
df = df[(df <= 1).all(axis=1)].reset_index()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据 R 中一列的值将一个数据框中的值插入到另一个数据框中

将一个数据框的一列的每个值与另一个数据框的一列的值匹配(如果后者存在)

使用另一个数据框中的指定值填充一列

根据索引号在另一个数据框中添加一列

将一个数据框中的特定列(包含)除以另一个数据框

将数据框的每一列除以另一个数据框的所有列

将一个数据框中的一列元素添加到另一个数据框中另一列的元素

如何将一个数据框中的一列字符串值映射到另一个数据框中的另一列?

查找不在 R 中另一个数据框的另一列中的列中的元素

将一列从数据框中的另一列移一个数字

熊猫会在一个数据框中删除与另一个数据框的一列中的行具有共同值的行

从另一个数据框中的每一列创建数据框的循环

根据python中另一个数据框的2列过滤数据框

将数据框中的一列匹配到另一个数据框中的多列的最佳方法

如何将一列从另一个数据框连接到特定列?

从另一个数据框填充一个数据框的列

根据另一个数据框转换一列列表

基于另一个数据框 col 创建一列

Python Pandas根据在另一个数据框中的查找将列添加到数据框

将列从一个数据框添加到另一个python pandas

如何将一个数据框的行添加到另一个的列中

尝试使用Python / pandas根据来自另一个数据框的一列的内部和创建一个新的数据框

通过另一个数据框的两列中的值将两个数据框中的一个数据框子集

熊猫:将一个数据框的特定列连接到另一列

使用R或Python将数据框的一列中的字符串与另一个数据框的一列中的字符串匹配

将一个数据框中的所有值乘以另一个数据框中的一列,然后将结果保存到新对象中

R:根据另一个数据框中的一列向数据框中添加一列会导致多个重复行

在另一个数据框中搜索一个数据框列

如何基于另一个数据框更新一个数据框中的列?