小编fac*_*act的帖子

Julia 中的字符算术

Julia REPL 告诉我输出

'c'+2
Run Code Online (Sandbox Code Playgroud)

'e': ASCII/Unicode U+0065 (category Ll: Letter, lowercase) 但输出是

'c'+2-'a'
Run Code Online (Sandbox Code Playgroud)

4

我同意字符通过 ASCII 代码识别为数字这一事实。但我对这里的类型推断感到困惑:为什么第一个输出是字符,第二个输出是整数?

ascii char julia

8
推荐指数
2
解决办法
136
查看次数

scipy和numpy中的快速距离计算

A,BBE ((day,observation,dim))阵列。在给定的一天中,每个数组包含相同数量的观测值,一个观测值是一个具有暗淡维度的点(即暗淡浮点数)。对于每一天,我想计算当天AB当天所有观测值之间的空间距离。

例如:

import numpy as np
from scipy.spatial.distance import cdist

A, B = np.random.rand(50,1000,10), np.random.rand(50,1000,10)

output = []
for day in range(50):
    output.append(cdist(A[day],B[day]))
Run Code Online (Sandbox Code Playgroud)

我用的地方scipy.spatial.distance.cdist

有更快的方法吗?理想情况下,我想获得output一个((day,observation,observation)),每一天包含观测值之间的成对距离阵列AB那一天,虽然在某种程度上避免了几天的循环。

python performance numpy scipy multidimensional-array

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

使用函数给出的值初始化numpy数组的最快方法

我主要感兴趣的是((d1,d2))numpy数组(矩阵)但这个问题对于具有更多轴的数组是有意义的.我有函数f(i,j),我想通过这个函数的一些操作初始化一个数组

A=np.empty((d1,d2))
for i in range(d1):
    for j in range(d2):
        A[i,j]=f(i,j)
Run Code Online (Sandbox Code Playgroud)

这是可读的和有效的,但我想知道是否有更快的方法,因为我的阵列A将非常大,我必须优化这一点.

python numpy multidimensional-array

4
推荐指数
1
解决办法
832
查看次数

使用numpys np.fromfunction评估Python lambda函数

设A1和A2为相同形状的numpy数组,比如说((d1,d2)).我想从它构建((d1,d1))数组,以便通过将函数应用于元组A1 [i],A2 [j]来定义其第[i,j]个条目.我在表单中使用np.fromfunction

f=lambda i,j: np.inner(A1[i],A2[j])
A=np.fromfunction(f, shape=(d1, d1)) 
Run Code Online (Sandbox Code Playgroud)

(以最快的方式建议使用函数给出的值初始化numpy数组).

但是我收到错误''IndexError:用作索引的数组必须是整数(或布尔)类型''.这很奇怪,因为例如将lambda函数更改为

 f=lambda i,j: i*j
Run Code Online (Sandbox Code Playgroud)

工作良好!似乎在lambda函数中调用另一个函数会导致麻烦

np.fromfunction
Run Code Online (Sandbox Code Playgroud)

(np.inner只是一个例子,我希望能够用其他类似的函数替换它).

python numpy matrix multidimensional-array

3
推荐指数
1
解决办法
1113
查看次数

移位的numpy数组的线性和

给定(m,n)numpy数组A,我想构造(m-1,n-1)numpy数组B,使得B [i,j]等于

A[i+1,j+1]+A[i,j]-A[i+1,j]-A[i,j+1]
Run Code Online (Sandbox Code Playgroud)

arrays numpy

1
推荐指数
2
解决办法
63
查看次数

numpy中的快速外张量积

我有两个numpy数组:

x of shape ((d1,...,d_m)) 
y of shape ((e_1,...e_n)) 
Run Code Online (Sandbox Code Playgroud)

我想形成外张量产品,即numpy数组

z of shape ((d1,...,d_m,e_1,...,e_n))
Run Code Online (Sandbox Code Playgroud)

这样的

z[i_1,...,i_n,i_{n+1}...,i_{m+n}] == x[i_1,...i_m]*y[i_{m+1},...,i_{m+n}]
Run Code Online (Sandbox Code Playgroud)

我必须多次执行上面的外部乘法,所以我想尽可能加快速度.

python arrays numpy linear-algebra

0
推荐指数
1
解决办法
510
查看次数