首页 > 编程知识 正文

python assert,numpy中的array函数

时间:2023-05-05 17:31:00 阅读:33953 作者:4260

我在Python上用了很多argmin和argmax。

很遗憾,功能很慢。

我做了一些搜索,我能找到的最好的是:

deffastest_argmax(Array ) :

阵列=列表(阵列) )。

返回阵列. index (max ) Array ) )

不幸的是,该解决方案仍然只有np.max的一半。 我想应该能找到和np.max一样快的东西。

x=NP.random.randn(10 ) )。

%timeitNP.argmax(x ) )。

10000 loops,best of 3: 21.8 us per loop

是%timeitfastest_argmax(x )

10000 loops,best of 3: 20.8 us per loop

请注意,这适用于Pandas DataFrame Groupby

例如。

% time it grp2[ ' odds ' ].agg ([ fastest _ arg max ] )。

100 loops,best of 3: 8.8 ms per loop

% time it grp2[ ' odds ' ].agg ([ NP.arg max ] )。

100 loops,best of 3: 11.6 ms per loop

数据如下。

grp2[ 'ODDS' ].head (

Out[60]:

EVENT_ID SELECTION_ID

104601100 4367029 682508 3.05

682509 3.15

682510 3.25

682511 3.35

5319660 682512 2.04

682513 2.08

682514 2.10

682515 2.12

682516 2.14

5510310 682520 4.10

682521 4.40

682522 4.50

682523 4.80

682524 5.30

5559264 682526 5.00

682527 5.30

682528 5.40

682529 5.50

682530 5.60

5585869 682533 1.96

682534 1.97

682535 1.98

682536 2.02

682537 2.04

6064546 682540 3.00

682541 2.74

682542 2.76

682543 2.96

682544 3.05

104601200 4916112 682548 2.64

682549 2.68

682550 2.70

682551 2.72

682552 2.74

5315859 682557 2.90

682558 2.92

682559 3.05

682560 3.10

682561 3.15

5356995 682564 2.42

682565 2.44

682566 2.48

682567 2.50

682568 2.52

5465225 682573 1.85

682574 1.89

682575 1.91

682576 1.93

682577 1.94

5773661 682588 5.00

682589 4.40

682590 4.90

682591 5.10

6013187 682592 5.00

682593 4.20

682594 4.30

682595 4.40

682596 4.60

104606300 2489827 683438 4.00

683439 3.90

683440 3.95

683441 4.30

683442 4.40

3602724 683446 2.16

683447 2.32

Name: ODDS、Length: 65、dtype: float64

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。