我在python中编写了一个函数来计算高斯展宽中的Delta函数,它涉及4级循环.但是,效率非常低,比以类似方式使用Fortran慢约10倍.
def Delta_Gaussf(Nw, N_bd, N_kp, hw, eigv):
Delta_Gauss = np.zeros((Nw,N_kp,N_bd,N_bd),dtype=float)
for w1 in range(Nw):
for k1 in range(N_kp):
for i1 in range(N_bd):
for j1 in range(N_bd):
if ( j1 >= i1 ):
Delta_Gauss[w1][k1][i1][j1] = np.exp(pow((eigv[k1][j1]-eigv[k1][i1]-hw[w1])/width,2))
return Delta_Gauss
Run Code Online (Sandbox Code Playgroud)
我删除了一些常量,使它看起来更简单.
任何人都可以帮我优化这个脚本以提高效率吗?
示例代码:
from pyflink.table import EnvironmentSettings, StreamTableEnvironment
env_settings = (
EnvironmentSettings.new_instance().in_streaming_mode().use_blink_planner().build()
)
table_env = StreamTableEnvironment.create(environment_settings=env_settings)
table_env.execute_sql(
"""
CREATE TABLE table1 (
id INT,
ts TIMESTAMP(3),
WATERMARK FOR ts AS ts - INTERVAL '5' SECOND
) WITH (
'connector.type' = 'filesystem',
'format.type' = 'csv',
'connector.path' = '/home/alex/work/test-flink/data1.csv'
)
"""
)
table_env.execute_sql(
"""
CREATE TABLE table2 (
id2 INT,
ts2 TIMESTAMP(3),
WATERMARK FOR ts2 AS ts2 - INTERVAL '5' SECOND
) WITH (
'connector.type' = 'filesystem',
'format.type' = 'csv',
'connector.path' = '/home/alex/work/test-flink/data2.csv'
) …Run Code Online (Sandbox Code Playgroud) 我是新手,我一直在尝试构建一个随机倒数计时器,它选择0到10之间的数字,并从所选整数计数到零.同时打印倒计时.但是,我一直从睡眠中得到错误().
import random
import time
x = random.randint(0,10)
y = time.sleep(x)
while y != 0:
print(y)
Run Code Online (Sandbox Code Playgroud) 我想将“尝试...除外...”放入一个函数中,以便我的代码更短,因为它被多次使用。
使这项工作:
def whiletry(x):
while 1:
try:
x
break
except:
time.sleep(0.25)
whiletry(driver.find_element_by_xpath('//*[@id="j_list_card"]/ul/li/h3/a').click())
Run Code Online (Sandbox Code Playgroud)