在pandas数据帧中,我可以创建一个序列B,使用另一个序列a的最大值,从第一行到当前行,方法是使用扩展窗口:
df['B'] = df['A'].expanding().max()
我还可以提取序列A的最大整体值的指数值:
^{pr2}$我想要的是一种有效的方法将两者结合起来;也就是说,创建一个序列B,它保存从第一行到当前行的序列a的最大值的索引值。理想情况下,像这样的。。。在
df['B'] = df['A'].expanding().idxmax().value
…但是,当然,上面的操作失败了,因为Expanding
对象没有idxmax
。有没有直截了当的方法?在
编辑:为了便于说明,对于以下数据帧。。。在
df = pd.DataFrame([1, 2, 1, 3, 0], index=['a', 'b', 'c', 'd', 'e'], columns=['A'])
…我想创建一个额外的列B,以便DataFrame包含以下内容:
A B
a 1 a
b 2 b
c 1 b
d 3 d
e 0 d
似乎
idmax
是pandas最新版本中的一个函数,我还没有。这里有一个不涉及groupby或idmax的解决方案我相信您可以使用
expanding
+max
+groupby
:相关问题 更多 >
编程相关推荐