【发布时间】:2021-09-07 09:49:39
【问题描述】:
我有一个(三角形)数据框 i,e: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
感谢您的宝贵时间:)
【问题讨论】:
-
你的代码运行良好,对你来说不行吗?
-
出现错误?
-
我没有数据框的列名或行名:
-
错误类似于 :TypeError: can't multiply sequence by non-int of type 'float'
-
print (df.head(2).to_dict())是什么?
标签: python pandas dataframe numpy