gpt4 book ai didi

python - pandas:提取扩展窗口中最大值的索引

转载 作者:行者123 更新时间:2023-11-30 22:26:29 30 4
gpt4 key购买 nike

在 pandas DataFrame 中,我可以通过使用扩展窗口,从第一行到当前行,使用另一个系列 A 的最大值创建一个系列 B:

df['B'] = df['A'].expanding().max()

我还可以提取A系列最大总体值(value)的指数值:

idx_max_A = df['A'].idxmax().value

我想要的是一种将两者结合起来的有效方法;也就是说,创建一个Series B,它保存SeriesA从第一行到当前行的最大值的索引值。理想情况下,像这样......

df['B'] = df['A'].expanding().idxmax().value

...但是,当然,上面的操作会失败,因为 Expanding 对象没有 idxmax。有没有直接的方法来做到这一点?

<小时/>

编辑:出于说明目的,对于以下 DataFrame...

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

最佳答案

我相信你可以使用expanding + max + groupby:

v = df.expanding().max().A
df['B'] = v.groupby(v).transform('idxmax')

df

A B
a 1 a
b 2 b
c 1 b
d 3 d
e 0 d

关于python - pandas:提取扩展窗口中最大值的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47228745/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com