如何使用 Numpy 与原始 Python 计算 0≤y≤10 和 20000 点的 sin(x) 之间的执行时间差异? [复制]

Posted

技术标签:

【中文标题】如何使用 Numpy 与原始 Python 计算 0≤y≤10 和 20000 点的 sin(x) 之间的执行时间差异? [复制]【英文标题】:How do I calculate the difference in execution time between computing sin(x) for 0≤y≤10 with 20000 points by using Numpy vs raw Python? [duplicate] 【发布时间】:2020-07-17 03:10:49 【问题描述】:

'''

import timeit
import math
x = np.linspace(0,10,20000)
y = np.cos(x)
%timeit y + 1

(0<=x<=10).all()
for i in range(20000):
    y = math.cos(x)
    %timeit y + 1

''' 我收到原始 python 代码错误。我也无法计算差异。

【问题讨论】:

在这里使用一些好的时间戳:***.com/questions/38319606/… 【参考方案1】:

使用 time.time() 怎么样? (我编辑了代码)

import numpy as np
import time
import math

# Using Numpy
x = np.linspace(0, 10, 20000)
start_time = time.time()
y = np.sin(x)
end_time = time.time()
print(end_time - start_time)

# using raw
start_time = time.time()
y = []
x = [0, 10]
for i in range(20000 - 2):
    x.insert(1, i * 10 / 20000)

for element in x:
    y.append(math.cos(element))


end_time = time.time()
print(end_time - start_time)

【讨论】:

谢谢吉升。但是您也将 numpy 用于 raw 。 x = np.linspace(0, 10, 20000) 也在 raw 中使用。

以上是关于如何使用 Numpy 与原始 Python 计算 0≤y≤10 和 20000 点的 sin(x) 之间的执行时间差异? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何计算百分位数与Python / numpy的

如何在python 3中有效地将原始字节写入numpy数组数据

如何在 numpy / scipy 中获取特定百分位数的索引?

如何在 Python 中使用带有“None”值的 numpy?

2 如何用Python进行数据计算

如何使用 python + NumPy / SciPy 计算滚动/移动平均值?