如何在使用C#的代码中编写asp.net中的JavaScript代码?
例如:当我单击要调用此java脚本代码的按钮时,我有单击按钮事件:
alert("You pressed Me!");
Run Code Online (Sandbox Code Playgroud)
我想知道如何使用代码背后的java脚本.
我理解基本的,如果我有这样的功能:
int sum(int x, int y, int z) {
int r = x + y + z;
return r;
}
Run Code Online (Sandbox Code Playgroud)
它需要3个单位的空间用于参数,1个用于局部变量,这永远不会改变,所以这是O(1).
但是,如果我有这样的功能怎么办:
void add(int a[], int b[], int c[], int n) {
for (int i = 0; i < n; ++i) {
c[i] = a[i] + b[0]
}
}
Run Code Online (Sandbox Code Playgroud)
其中需要N个单位a,M个单位为bL个单位c,1个单位为i和n.所以它需要N+M+L+1+1大量的存储空间.
那么这里的空间复杂性大O会是什么?需要更高记忆的那个?也就是说,如果N比M和L更高的momery(从更高的意义上假设大于10**6) - 那么可以说空间复杂性是否O(N)与我们对时间复杂性的影响一样?
但是如果所有三个即a,b,c都没有太大差异
喜欢这个功能
void multiply(int a[], int b[], int c[][], …Run Code Online (Sandbox Code Playgroud) 我需要在我的CentOS 6.7机器上将我的conda版本从4.3降级到4.2.这样做需要什么命令?
目前,当我更新软件包时,我收到了很多这些INFO消息:
$ conda update --all --yes
Fetching package metadata .................
Solving package specifications: .
Package plan for installation in environment C:\anacondadir:
The following packages will be UPDATED:
ipython: 6.0.0-py35_1 --> 6.1.0-py35_0
nbconvert: 5.1.1-py35_0 --> 5.2.1-py35_0
testpath: 0.3-py35_0 --> 0.3.1-py35_0
testpath-0.3.1 100% |###############################| Time: 0:00:00 1.31 MB/s
ipython-6.1.0- 100% |###############################| Time: 0:00:00 2.77 MB/s
nbconvert-5.2. 100% |###############################| Time: 0:00:00 3.36 MB/s
INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\anacondadir', env_name: 'None', mode: 'None', used_mode: 'user'
INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', …Run Code Online (Sandbox Code Playgroud) 我有两个数据帧,它们都有一个Order ID和一个date.
我想在第一个数据帧中添加一个标志df1:如果一个记录具有相同的order id并且date在dataframe中df2,那么添加一个Y:
[ df1['R'] = np.where(orders['key'].isin(df2['key']), 'Y', 0)]
Run Code Online (Sandbox Code Playgroud)
为了实现这个目标,我要创建一个密钥,这将是的串联order_id和date,但是当我尝试下面的代码:
df1['key']=df1['Order_ID']+'_'+df1['Date']
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
ufunc 'add' did not contain a loop with signature matching types dtype('S21') dtype('S21') dtype('S21')
Run Code Online (Sandbox Code Playgroud)
df1看起来像这样:
Date | Order_ID | other data points ...
201751 4395674 ...
201762 3487535 ...
Run Code Online (Sandbox Code Playgroud)
这些是数据类型:
df1.info()
RangeIndex: 157443 entries, 0 to 157442
Data columns (total 6 columns):
Order_ID 157429 non-null object
Date 157443 non-null …Run Code Online (Sandbox Code Playgroud) 我已经阅读了很多"避免与numpy循环".所以,我试过了.我正在使用此代码(简化版).一些辅助数据:
In[1]: import numpy as np
resolution = 1000 # this parameter varies
tim = np.linspace(-np.pi, np.pi, resolution)
prec = np.arange(1, resolution + 1)
prec = 2 * prec - 1
values = np.zeros_like(tim)
Run Code Online (Sandbox Code Playgroud)
我的第一个实现是for循环:
In[2]: for i, ti in enumerate(tim):
values[i] = np.sum(np.sin(prec * ti))
Run Code Online (Sandbox Code Playgroud)
然后,我摆脱了显式for循环,并实现了这一点:
In[3]: values = np.sum(np.sin(tim[:, np.newaxis] * prec), axis=1)
Run Code Online (Sandbox Code Playgroud)
对于小型阵列来说,这个解决方案更快,但是当我扩大规模时,我有这样的时间依赖:

我缺少什么或是正常行为?如果不是,在哪里挖?
编辑:根据评论,这里有一些额外的信息.用IPython中的测量的时间%timeit和%%timeit,在新内核进行每一次运行.我的笔记本电脑是acer aspire v7-482pg(i7,8GB).我正在使用:
我正在尝试执行以下操作
from numpy import *
x = array([[3,2,3],[711,4,104],.........,[4,4,782,7845]]) # large nparray
for item in x:
set(item)
Run Code Online (Sandbox Code Playgroud)
与以下相比需要很长时间:
x = array([[3,2,3],[711,4,104],.........,[4,4,782,7845]]) # large nparray
for item in x:
item.tolist()
Run Code Online (Sandbox Code Playgroud)
为什么将NumPy数组转换为a而set不是a list?需要更长的时间?我的意思是基本上都有复杂性O(n)?
我有一个不同植物物种的数据集,我将每个物种分成不同的物种np.array.
当试图从这些物种中生成高斯模型时,我不得不计算每个不同标签的平均值和协方差矩阵.
问题是:当np.cov()在其中一个标签中使用时,该函数会引发错误"'float'对象没有属性'shape'",我无法确定问题的来源.我正在使用的确切代码行如下:
covx = np.cov(label0, rowvar=False)
Run Code Online (Sandbox Code Playgroud)
哪个label0是numpy ndarray of shape(50,3),其中列代表不同的变量,每行是不同的观察.
确切的错误跟踪是:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-81-277aa1d02ff0> in <module>()
2
3 # Get the covariances
----> 4 np.cov(label0, rowvar=False)
C:\Users\Matheus\Anaconda3\lib\site-packages\numpy\lib\function_base.py in cov(m, y, rowvar, bias, ddof, fweights, aweights)
3062 w *= aweights
3063
-> 3064 avg, w_sum = average(X, axis=1, weights=w, returned=True)
3065 w_sum = w_sum[0]
3066
C:\Users\Matheus\Anaconda3\lib\site-packages\numpy\lib\function_base.py in average(a, axis, weights, returned)
1143
1144 if returned:
-> 1145 if scl.shape …Run Code Online (Sandbox Code Playgroud) CPython 3.6.4:
from functools import partial
def add(x, y, z, a):
return x + y + z + a
list_of_as = list(range(10000))
def max1():
return max(list_of_as , key=lambda a: add(10, 20, 30, a))
def max2():
return max(list_of_as , key=partial(add, 10, 20, 30))
Run Code Online (Sandbox Code Playgroud)
现在:
In [2]: %timeit max1()
4.36 ms ± 42.3 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
In [3]: %timeit max2()
3.67 ms ± 25.9 µs per loop (mean ± std. dev. of …Run Code Online (Sandbox Code Playgroud) 将纯Python无操作函数与装饰的无操作函数进行比较@numba.jit,即:
import numba
@numba.njit
def boring_numba():
pass
def call_numba(x):
for t in range(x):
boring_numba()
def boring_normal():
pass
def call_normal(x):
for t in range(x):
boring_normal()
Run Code Online (Sandbox Code Playgroud)
如果我们计算时间%timeit,我们会得到以下结果:
%timeit call_numba(int(1e7))
792 ms ± 5.51 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
%timeit call_normal(int(1e7))
737 ms ± 2.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Run Code Online (Sandbox Code Playgroud)
一切都很合理; numba函数的开销很小,但并不多.
但是,如果我们使用cProfile这个代码进行分析,我们会得到以下结果:
cProfile.run('call_numba(int(1e7)); call_normal(int(1e7))', sort='cumulative')
ncalls tottime percall cumtime percall …Run Code Online (Sandbox Code Playgroud)