小编chr*_*isb的帖子

Numba vs Cython循环优化

考虑以下四种功能(python,numba,cythonsmart给定的相同的整数输入时),其计算相同的反应

def python(n):
    total = 0
    for m in range(1,n+1):
        total += m
    return total

from numba import jit
numba = jit(python)

cpdef int cython(int n):
    cdef int total = 0
    cdef int m
    for m in range(1, n+1):
        total += m
    return total

def smart(n):
    return n * (n + 1) // 2
Run Code Online (Sandbox Code Playgroud)

他们的执行时间让我感到有些惊讶

  1. numba运行时间独立于n(虽然cython是线性的n)
  2. numba 比...慢 smart

这立即引发了两个问题:

  1. 为什么Numba,但不是Cython,能够把它变成一个恒定时间算法?
  2. 鉴于Numba 确实设法将其转换为常量时间算法,为什么它比纯Python的常量时间函数慢smart …

python cython numba

8
推荐指数
1
解决办法
2264
查看次数

Python Pandas Groupby的总和和百分比

给定以下数据框df:

      app       platform    uuid                              minutes
0     1         0  a696ccf9-22cb-428b-adee-95c9a97a4581       67
1     2         0  8e17a2eb-f0ee-49ae-b8c2-c9f9926aa56d        1
2     2         1  40AD6CD1-4A7B-48DD-8815-1829C093A95C       13
3     1         0  26c1022a-7a8e-42a2-b7cc-bea6bffa7a6f        2
4     2         0  34271596-eebb-4423-b890-dc3761ed37ca        8
5     3         1  C57D0F52-B565-4322-85D2-C2798F7CA6FF       16
6     2         0      245501ec2e39cb782bab1fb02d7813b7        1
7     3         1  DE6E4714-5A3C-4C80-BD81-EAACB2364DF0       30
8     3         0  f88eb774-fdf3-4d1d-a91d-0b4ab95cf36e       10
9     2         0  9c08c860-7a6d-4810-a5c3-f3af2a3fcf66      470
10    3         1      19fdaedfd0dbdaf6a7a6b49619f11a19        3
11    3         1  AAF1CFF7-4564-4C79-B2D8-F0AAF9C9971B       58
12    2         0  4eb1024b-c293-42a4-95a2-31b20c3b524b       24
13    3         1  8E0B0BE3-8553-4F38-9837-6C907E01F84C        7
14    3         1  E8B2849C-F050-4DCD-B311-5D57015466AE      465 …
Run Code Online (Sandbox Code Playgroud)

python grouping percentage pandas

5
推荐指数
1
解决办法
1629
查看次数

标签 统计

python ×2

cython ×1

grouping ×1

numba ×1

pandas ×1

percentage ×1