python - 为数据框寻找 cumprod?
问题描述
我有一个(三角形)数据框,即:DF1:
2016A NaN NaN 2.5 6.5 NaN NaN
2016B NaN 5.32 6.3 NaN NaN NaN
2017A NaN 9.4 5.6 NaN NaN NaN
2018B 4.5 NaN 5.6 NaN NaN NaN
2018C NaN 6.5 4.3 NaN NaN NaN
2019A 5.3 NaN NaN NaN NaN NaN
我必须找到这个数据框的cumprod。
我试过这段代码:
df2= df1.iloc[:, ::-1].cumprod(axis=1).iloc[:, ::-1]
但结果与 df1 相同
结果应如下所示:
2016A NaN NaN 16.25 6.5 NaN NaN
2016B NaN 33.51 6.3 NaN NaN NaN
2017A NaN 52.64 5.6 NaN NaN NaN
2018B 25.2 NaN 5.6 NaN NaN NaN
2018C NaN 27.95 4.3 NaN NaN NaN
2019A 5.3 NaN NaN NaN NaN NaN
感谢您的时间 :)
解决方案
您的代码应该运行良好,但需要做一件事。这是不对第一列进行计算:
>>> df.set_index(df.iloc[:, 0].name).iloc[:, ::-1].cumprod(axis=1).iloc[:, ::-1].reset_index()
0 1 2 3 4 5 6
0 2016A NaN NaN 16.25 6.5 NaN NaN
1 2016B NaN 33.516 6.30 NaN NaN NaN
2 2017A NaN 52.640 5.60 NaN NaN NaN
3 2018B 25.2 NaN 5.60 NaN NaN NaN
4 2018C NaN 27.950 4.30 NaN NaN NaN
5 2019A 5.3 NaN NaN NaN NaN NaN
>>>
推荐阅读
- vba - 有没有办法在 VBA 中逐行读取 xls 文件?
- angular - angular 6 httpclient在url中传递凭据
- php - 如何将首页上的moodle moove类别列表更改为卡片?
- javascript - javascript中的动态和直接变量返回之间是否存在一些性能差异?
- javascript - jQuery UI 图像滑块
- reactjs - React - 在默认提供者周围创建连接的提供者,它将从存储中获取数据并将其作为道具传递给默认提供者
- powershell - 如何使用 Powershell 脚本在 Azure Active Directory 的清单下添加应用角色
- javascript - node.js 中的一个正则表达式让我感到困惑
- odoo - 如何在 Odoo 11 中安装下载的后端主题
- angularjs - 本地范围属性和传入的属性值是否可以在具有隔离范围的 angularjs 指令中互换使用