小编Sau*_*tro的帖子

Numpy Vector(N,1)维度 - >(N,)维度转换

我有一个关于(N,)维数组和(N,1)维数组之间转换的问题.例如,y是(2,)维度.

A=np.array([[1,2],[3,4]])

x=np.array([1,2])

y=np.dot(A,x)

y.shape
Out[6]: (2,)
Run Code Online (Sandbox Code Playgroud)

但以下将显示y2为(2,1)维度.

x2=x[:,np.newaxis]

y2=np.dot(A,x2)

y2.shape
Out[14]: (2, 1)
Run Code Online (Sandbox Code Playgroud)

在没有复制的情况下将y2转换回y的最有效方法是什么?

谢谢,汤姆

python arrays numpy

28
推荐指数
3
解决办法
4万
查看次数

如何从boost :: python返回numpy.array?

我想从c ++代码中返回一些数据作为numpy.array对象.我看了一下boost::python::numeric,但它的文档非常简洁.我可以得到一个例子,例如将一个(不是很大)返回vector<double>给python吗?我不介意做数据的副本.

c++ arrays numpy boost-python

27
推荐指数
3
解决办法
2万
查看次数

使用SciPy/Numpy在Python中连接稀疏矩阵

使用SciPy/Numpy在Python中连接稀疏矩阵的最有效方法是什么?

我在这里使用了以下内容:

>>> np.hstack((X, X2))
array([ <49998x70000 sparse matrix of type '<class 'numpy.float64'>'
        with 1135520 stored elements in Compressed Sparse Row format>,
        <49998x70000 sparse matrix of type '<class 'numpy.int64'>'
        with 1135520 stored elements in Compressed Sparse Row format>], 
       dtype=object)
Run Code Online (Sandbox Code Playgroud)

我想在回归中使用两个预测变量,但目前的格式显然不是我想要的.是否有可能获得以下内容:

    <49998x1400000 sparse matrix of type '<class 'numpy.float64'>'
     with 2271040 stored elements in Compressed Sparse Row format>
Run Code Online (Sandbox Code Playgroud)

它太大而无法转换为深层格式.

python numpy scipy sparse-matrix

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

Matplotlib yaxis范围显示使用绝对值而不是偏移值?

我有以下范围的numpy数据(usec时间戳的增量):

array([ 4.312,  4.317,  4.316,  4.32 ,  4.316,  4.316,  4.319,  4.317,
    4.317,  4.316,  4.318,  4.316,  4.318,  4.316,  4.318,  4.317,
    4.317,  4.317,  4.316,  4.317,  4.318,  4.316,  4.318,  4.316,
    4.318,  4.316,  4.317,  4.317,  4.318,  4.316,  4.317,  4.317,
    4.317,  4.317,  4.317,  4.316,  4.319,  4.315,  4.319,  4.315,
    4.319,  4.315,  4.316,  4.319,  4.317,  4.317,  4.317,  4.318,
    4.315,  4.317,  4.317,  4.317,  4.319,  4.314,  4.32 ,  4.315,
    4.317,  4.318,  4.315,  4.318,  4.317,  4.317,  4.317,  4.316,
    4.317,  4.318,  4.317,  4.317,  4.317,  4.315,  4.319,  4.317,
    4.315,  4.319,  4.316,  4.318, …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib

26
推荐指数
3
解决办法
2万
查看次数

Cython:cimport和import numpy as(both)np

在Cython文档的教程中,有numpy模块的cimport和import语句:

import numpy as np
cimport numpy as np
Run Code Online (Sandbox Code Playgroud)

我发现这个约定在numpy/cython用户中很受欢迎.

这看起来很奇怪的我,因为他们命名为NP.在哪部分代码中,使用了导入/ cimported np?为什么cython编译器不会混淆它们?

python numpy cython python-import

26
推荐指数
1
解决办法
6591
查看次数

np.sum和np.add.reduce有什么区别?

np.sum和之间有什么区别np.add.reduce
虽然文档很明确:

例如,add.reduce()等效于sum().

两者的性能似乎完全不同:相对较小的阵列大小add.reduce大约快两倍.

$ python -mtimeit -s"import numpy as np; a = np.random.rand(100); summ=np.sum" "summ(a)"
100000 loops, best of 3: 2.11 usec per loop
$ python -mtimeit -s"import numpy as np; a = np.random.rand(100); summ=np.add.reduce" "summ(a)"
1000000 loops, best of 3: 0.81 usec per loop

$ python -mtimeit -s"import numpy as np; a = np.random.rand(1000); summ=np.sum" "summ(a)"
100000 loops, best of 3: 2.78 usec per loop
$ python -mtimeit -s"import numpy as …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

如何在Python中使用空分隔符拆分字符串

some_string.split('')在python中有什么好办法?此语法给出错误:

a = '1111'
a.split('')

ValueError: empty separator
Run Code Online (Sandbox Code Playgroud)

我想获得:

['1', '1', '1', '1']
Run Code Online (Sandbox Code Playgroud)

python string split

25
推荐指数
3
解决办法
3万
查看次数

是否有一种方便的方法将查找表应用于numpy中的大型数组?

在我生成的数组中,我有一个图像读入numpy中有相当多的像素.

我计算了一个包含256个值的查找表.现在我想做以下事情:

for i in image.rows:
    for j in image.cols:
        mapped_image[i,j] = lut[image[i,j]]
Run Code Online (Sandbox Code Playgroud)

是的,这基本上就像一个人.
唯一的问题是:我想做到高效并在python中调用该循环将让我等待几秒钟才能完成.

我知道numpy.vectorize(),它只是一个调用相同python代码的便捷函数.

arrays numpy lookup-tables python-2.x

24
推荐指数
2
解决办法
2万
查看次数

在列表中替换无值?

我有:

d = [1,'q','3', None, 'temp']
Run Code Online (Sandbox Code Playgroud)

我想将None值替换为'None'或任何字符串

预期效果:

d = [1,'q','3', 'None', 'temp']
Run Code Online (Sandbox Code Playgroud)

尝试替换字符串和for循环但我得到错误:

TypeError: expected a character buffer object
Run Code Online (Sandbox Code Playgroud)

python replace list

24
推荐指数
2
解决办法
4万
查看次数

Unexpected result with += on NumPy arrays

I am creating symmetric matrices/arrays in Python with NumPy, using a standard method:

x = rand(500,500)
x = (x+x.T)
all(x==x.T)
> True
Run Code Online (Sandbox Code Playgroud)

Now let's be clever:

x = rand(500,500)
x += x.T
all(x==x.T)
> False
Run Code Online (Sandbox Code Playgroud)

Wait, what?

x==x.T
> array([[ True,  True,  True, ..., False, False, False],
       [ True,  True,  True, ..., False, False, False],
       [ True,  True,  True, ..., False, False, False],
       ..., 
       [False, False, False, ...,  True,  True,  True],
       [False, False, False, ...,  True,  True,  True],
       [False, False, …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

24
推荐指数
2
解决办法
854
查看次数