第一次使用熊猫,我提供了一个较小版本的数据框,我创建如下:
Date project1 project2 project3
0 12/10/2017 100 200 300
1 12/11/2017 0 300 400
2 12/12/2017 0 0 500
我需要为每个单独的项目做2个cumsum,它在0处停止。所有项目中的另一个项目都是明智的。我一直在努力争取日期或只计算零。任何建议都会得到赞赏 所以输出结果如下:
Date project1 project2 project3 project_sum
0 12/10/2017 100 200 300 600
1 12/11/2017 0 300 400 700
2 12/12/2017 0 0 500 500
和
cell.layer.zPosition = CGFloat(indexPath.row)
答案 0 :(得分:1)
对于第一个问题,请使用cumsum
和cumprod
df[['project1','project2','project3']].cumsum().mask(df[['project1','project2','project3']].cumprod().eq(0),0)
Out[86]:
project1 project2 project3
0 100 200 300
1 0 300 400
2 0 0 500
然后使用sum(axis=1)
df[['project1','project2','project3']]=df[['project1','project2','project3']].cumsum().mask(df[['project1','project2','project3']].cumprod().eq(0),0)
df['projectSum']=df[['project1','project2','project3']].sum(1)
df
Out[89]:
Date project1 project2 project3 projectSum
0 12/10/2017 100 200 300 600
1 12/11/2017 0 300 400 700
2 12/12/2017 0 0 500 500