python中idx是什么意思_在python中滚动idxmax()?

参见文档:

还有一些很好的例子:In [18]: df = DataFrame(randn(1000,4),index=pd.date_range('20000101',periods=1000),

columns=list('ABCD'))

In [19]: pandas.stats.moments.rolling_apply(df,30,lambda x: Series(x).idxmax())

Out[19]:

DatetimeIndex: 1000 entries, 2000-01-01 00:00:00 to 2002-09-26 00:00:00

Freq: D

Data columns (total 4 columns):

A 971 non-null values

B 971 non-null values

C 971 non-null values

D 971 non-null values

dtypes: float64(4)

In [47]: pandas.stats.moments.rolling_apply(df,30,lambda x: Series(x).idxmax()).tail(30)

Out[47]:

A B C D

2002-08-28 24 3 26 21

2002-08-29 23 2 25 20

2002-08-30 22 1 24 19

2002-08-31 21 0 23 18

2002-09-01 20 6 29 17

2002-09-02 19 5 28 16

2002-09-03 18 4 27 15

2002-09-04 17 3 26 14

2002-09-05 16 2 25 13

2002-09-06 15 1 24 12

2002-09-07 14 0 23 11

2002-09-08 13 13 22 10

2002-09-09 12 12 21 9

2002-09-10 11 11 20 8

2002-09-11 10 10 19 7

2002-09-12 9 9 18 6

2002-09-13 8 8 17 5

2002-09-14 7 7 16 4

2002-09-15 6 6 15 3

2002-09-16 5 5 14 2

2002-09-17 4 4 13 1

2002-09-18 3 3 12 0

2002-09-19 2 2 11 11

2002-09-20 1 1 10 10

2002-09-21 0 0 9 9

2002-09-22 27 25 8 8

2002-09-23 26 24 7 7

2002-09-24 25 23 6 6

2002-09-25 24 22 5 5

2002-09-26 23 29 4 4

仅供参考,使用rolling_max(df,30)来获取特定范围内的最大值可能会更好,这正是我收集到的您所追求的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值