相关疑难解决方法(0)

numpy数组和矩阵之间有什么区别?我应该使用哪一个?

各有哪些优缺点?

从我所看到的情况来看,如果需要的话,任何一个都可以作为另一个的替代品,那么我是否应该使用它们或者我应该只坚持其中一个?

该计划的风格会影响我的选择吗?我正在使用numpy做一些机器学习,所以确实有很多矩阵,但也有很多向量(数组).

python arrays numpy matrix

318
推荐指数
5
解决办法
13万
查看次数

NumPy矩阵类的弃用状态

matrixNumPy中班级的状态是什么?

我一直被告知我应该使用这门ndarray课程.matrix在我编写的新代码中使用类是否值得/安全?我不明白为什么我应该使用ndarrays代替.

python numpy matrix deprecated numpy-ndarray

44
推荐指数
1
解决办法
3431
查看次数

Numpy转置不给出预期的结果

我在Python scipy模块中尝试了一个非常基本的示例,用于转置方法,但没有给出预期的结果.我在pylab模式下使用Ipython.

a = array([1,2,3]
print a.shape
>> (3,)
b = a.transpose()
print b.shape
>> (3,)
Run Code Online (Sandbox Code Playgroud)

如果我打印数组"a"和"b"的内容,它们是相似的.

期望是:(这将导致Matlab om转置)

 [1,
  2,
  3]
Run Code Online (Sandbox Code Playgroud)

python numpy scipy

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

np.dot 会自动转置向量吗?

我正在尝试计算股票投资组合的一阶和二阶矩(即预期回报和标准差)。

expected_returns_annual
Out[54]: 
           ticker
adj_close  CNP       0.091859
           F        -0.007358
           GE        0.095399
           TSLA      0.204873
           WMT      -0.000943
dtype: float64

type(expected_returns_annual)
Out[55]: pandas.core.series.Series



weights = np.random.random(num_assets)
weights /= np.sum(weights)
returns = np.dot(expected_returns_annual, weights)
Run Code Online (Sandbox Code Playgroud)

所以通常预期回报计算为

(x1,...,xn' * (R1,...,Rn)

x1,...,xn 是具有约束的权重,所有权重必须加起来为 1,' 表示向量已转置。

现在我有点想知道 numpy dot 函数,因为

returns = np.dot(expected_returns_annual, weights)
Run Code Online (Sandbox Code Playgroud)

returns = np.dot(expected_returns_annual, weights.T)
Run Code Online (Sandbox Code Playgroud)

给出相同的结果。

我还测试了 weights.T 和 weights 的形状。

weights.shape
Out[58]: (5,)
weights.T.shape
Out[59]: (5,)
Run Code Online (Sandbox Code Playgroud)

weights.T 的形状应该是 (,5) 而不是 (5,),但 numpy 将它们显示为相等(我也尝试过 np.transpose,但结果相同)

有人知道为什么 numpy 会这样吗?在我看来, np.dot 乘积会自动塑造向量正确的原因,以便向量乘积运行良好。那是对的吗?

最好的问候汤姆

python numpy dot-product

8
推荐指数
1
解决办法
9309
查看次数

Numpy列和行向量

为什么numpy可以将2x2矩阵乘以1x2行向量?

import numpy as np

I = np.array([[1.0, 0.0], [0.0, 1.0]])
x = np.array([2.0,3.0])

In: I * x
Out: array([[ 2.,  0.], [ 0.,  3.]])
Run Code Online (Sandbox Code Playgroud)

转置x也没有任何意义.行向量保持行向量?

In: x.T
Out: array([ 2.,  3.])
Run Code Online (Sandbox Code Playgroud)

从数学的角度来看,表示非常混乱.

python numpy

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

标签 统计

numpy ×5

python ×5

matrix ×2

arrays ×1

deprecated ×1

dot-product ×1

numpy-ndarray ×1

scipy ×1