如果Python没有三元条件运算符,是否可以使用其他语言结构模拟一个?
NumPy优于常规Python列表有什么优势?
我有大约100个金融市场系列,我打算创建一个100x100x100 = 100万个单元的立方体阵列.我将使用每个y和z对每个x进行回归(3变量),以使用标准错误填充数组.
我听说过,对于"大型矩阵",出于性能和可伸缩性的原因,我应该使用NumPy而不是Python列表.事实是,我知道Python列表,它们似乎对我有用.
如果我搬到NumPy,会有什么好处?
如果我有1000个系列(即立方体中有10亿个浮点单元)怎么办?
我有以下代码:
[x ** 2 for x in range(10)]
Run Code Online (Sandbox Code Playgroud)
当我在Python Shell中运行它时,它返回:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Run Code Online (Sandbox Code Playgroud)
我搜索过,似乎这被称为列表理解,但它是如何工作的?
我的问题很简单,假设我有一个类似的数组
array = np.array([1, 2, 3, 4])
Run Code Online (Sandbox Code Playgroud)
而且我想得到一个类似的数组
[1, 0.5, 0.3333333, 0.25]
Run Code Online (Sandbox Code Playgroud)
但是,如果你写了类似的东西
1/array
Run Code Online (Sandbox Code Playgroud)
要么
np.divide(1.0, array)
Run Code Online (Sandbox Code Playgroud)
它不会起作用.
到目前为止我找到的唯一方法是写下这样的东西:
print np.divide(np.ones_like(array)*1.0, array)
Run Code Online (Sandbox Code Playgroud)
但我绝对相信有更好的方法可以做到这一点.有谁有想法吗?