NumPy

NumPy(Numerical Python)是一个开源Python库,它是Python科学计算的基础库之一。对于从事金融量化分析的专家来说,掌握NumPy是极其重要的,因为它提供了高效的数组处理和数学运算能力。 NumPy数组 NumPy的核心是ndarray对象,即N维数组,它是一个同类型元素的集合,可以进行高效的向量化计算。 创建数组 可以通过多种方式创建数组,如使用np.array()函数从Python列表创建: import numpy as np a = np.array([1, 2, 3]) b = np.array([[1, 2, 3], [4, 5, 6]]) # 二维数组 还有一些特殊的数组创建函数,如zeros(), ones(), arange(), linspace()等。 数组属性 数组有多种属性,如shape(形状),dtype(数据类型),ndim(维度数)等。 3. 数组索引和切片 NumPy提供了丰富的索引和切片功能,允许你访问和修改数组的特定部分。 4. 数组操作 可以对数组进行各种操作,包括重塑(reshape),合并(concatenate),分割(split)等。 5. 数学运算 NumPy支持大量的数学运算,包括基础的算术运算、统计运算、线性代数运算等。 基本算术运算 运算符如+,-,*,/可以直接应用于数组,进行元素级的运算。 统计运算 函数如mean(),median(),std()可以计算数组的统计特性。 线性代数 NumPy提供np.linalg模块,支持多种线性代数运算,如矩阵乘法、求解线性方程组等。 6. 高级功能 NumPy还提供了广播机制、高级索引、掩码数组等高级功能,以支持更复杂的数据操作和分析。 小结 NumPy是金融量化分析中不可或缺的工具之一,掌握它能极大提高数据处理和分析的效率。以上只是一个快速入门指南,NumPy的功能远不止这些。建议深入学习NumPy的官方文档和相关教程,通过实践来提升你的NumPy技能。

NumPy库的主要作用及常用函数大全

主要作用

NumPy(Numerical Python的简称)是Python中用于处理数组、矩阵、数值计算以及高级数学函数的一个强大的库。在金融量化分析中,NumPy扮演着至关重要的角色,因为它提供了快速、高效的数值计算能力,适用于处理大量的金融数据。

NumPy的主要特点包括:

  1. 多维数组对象:NumPy提供了一个称为ndarray的多维数组对象,用于存储和处理大型数据集。
  2. 数学函数:NumPy包含了大量的数学函数,用于执行基本的数学运算(如加、减、乘、除)以及更复杂的数学运算(如线性代数运算、统计函数、随机数生成等)。
  3. **广播功

更新时间:2024-05-20 02:35

Numpy库

导语

本文介绍数值分析的一大利器——Numpy

附件:Numpy介绍

https://bigquant.com/experimentshare/3132bdddfa574e27b49a4bb1bea299ad


本文由BigQuant宽客学院推出,版权归BigQuant所有,转载请注明出处。

\

更新时间:2024-05-20 02:34

ValueError: zero-size array to reduction operation minimum which has no iden

错误信息 "ValueError: zero-size array to reduction operation minimum which has no identity"

通常出现在使用 NumPy 或类似库进行数组操作时,

当在一个大小为零的数组上执行某些聚合操作(如最小值、最大值、平均值等)时会触发这个错误。

这是因为对于一个空数组,这些聚合操作没有合理的返回值。

需要先检查数组的大小,确保它不是空的,然后再执行聚合操作。

步骤如下:

1.检查数组大小

2.条件执行

3.错误处理

示例代码

假设你有一个 NumPy 数组 arr,并且想要计

更新时间:2023-12-15 09:30

报错:TypeError: unhashable type: 'numpy.ndarray'

使用cn_stock_factors . volatility_5 或者其他因子都报错

执行因子分析模版v27报错


https://bigquant.com/codeshare/39d6f723-70d2-45fc-951f-50960177adc1

\

更新时间:2023-12-08 08:38

Python最好用的科学计算库:NumPy快速入门教程(三)

该文章接上一篇Python最好用的科学计算库:NumPy快速入门教程(二)

import numpy as np
%matplotlib inline

深入理解 NumPy

广播

广播操作允许通用函数能够对不是严格相同形状的输入进行处理。

广播的第一个规则是,如果所有输入数组不具有相同数量的维度,则将“1”重复地预先添加到形状较小的数组中,直到所有数组具有相同数量的维度。

广播的第二个规则是,确保有某个维度大小为1的数组,操作起来像该维度与在该维度上具有最大形状的数组一样。

更新时间:2023-06-14 03:02

Python-Numpy模块where函数

1.前言

如果学习过编程语言话,一定知道一个叫做"三目运算符"(三元表达式)的东西,一般来说我们可以把他看成是一个简单的"if - - else"语句。下面是在java中的三目表达式(其实在大多数的语言中都是这样的):

单目运算符: ~3(位运算符取反码)双目运算符:3 + 4三目运算符:格式:比较(关系)表达式**?表达式1:**表达式2;比较表达式:结果是一个boolean类型。执行流程:根据比较(关系)表达式的计算返回一个ture或者false。如果是true,就把表达式1作为结果。如果是false,就把表达式2作为结果。

那为什么要提一下别的语

更新时间:2023-06-14 03:02

Python-NumPy模块的转置轴对换(2)

1.前言

转置(transpose)是重塑的一种特殊形式。他返回的是源数组的视图,也就是说源数组与对源数组转置后返回的数组指向的是同一个地址。numpy中的转置有三种方式:

  1. T属性

  2. transpose方法

  3. swapaxes方法

    import numpy as np array = np.arange(12).reshape((3,4)) array2 = array.T

    print("-----源数组-----") print(array) print(array2) print("-----修改后的数组

更新时间:2023-06-14 03:02

Python-Numpy模块Meshgrid函数

Numpy中关于Meshgrid函数:meshgrid官方

1.Meshgrid前言

meshgrid函数就是用两个坐标轴上的点在平面上画网格(当然这里传入的参数是两个的时候)。当然我们可以指定多个参数,比如三个参数,那么我们的就可以用三个一维的坐标轴上的点在三维平面上画网格。

2.Meshgrid的参数

numpy.meshgrid

更新时间:2023-06-14 03:02

Python-Numpy模块tile函数[源码解析]

tile

n. 瓷砖,瓦片vt. 铺以瓦;铺以瓷砖

1.前言

**函数格式tile(A,reps)**A和reps都是array_like类型A参数几乎所有类型都可以:array, list, tuple, dict, matrix这些序列化类型以及Python中基本数据类型int,float,string,bool类型。reps的参数可以是tuple,list, dict, array, int, bool.但不可以是float, string, matrix(多维度的ndarray数组)类型。

tile函数的功能是重复某个数组。比如tile(A,reps

更新时间:2023-06-14 03:02

Python-NumPy模块的通用函数(3)

1.前言

通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数,那什么是元素级的运算呢?其实在我看来就是这里的函数对数组中的每一个元素值作用然后产生新的元素值,返回新的元素值组成的数组。你可以将其看做简单函数(接受一个或者多个标量值,并产生一个或者多个标量值)的矢量化包装器。下面我们看一个简单的例子:

import numpy as np
array = np.arange(4).reshape((2,2))

print("-----源数据-----")
print(array)
print("-----exp()通用函数作用-----

更新时间:2023-06-14 03:02

Python最好用的科学计算库:NumPy快速入门教程(二)

本文接上一篇:Python最好用的科学计算库:NumPy快速入门教程(一)

形状操作

首先导入numpy库

>>> import numpy as np

改变数组的形状

数组的形状由每个维度的元素的数量决定。

>>> a = np.floor(10*np.random.random((3,4)))
>>> a
array([[7., 1., 0., 7.],
       [7., 3., 3., 4.],
       [3., 9., 2., 9.]])
>>>

更新时间:2023-06-14 03:02

Python最好用的科学计算库:NumPy快速入门教程(一)

首先导入并检查你的numpy版本

import numpy
numpy.__version__
'1.14.3'

NumPy数组

NumPy数组指的是由同一类型元素(一般是数字)组成的多维数组。

基础知识

数组的维度、形状、大小

一维数组由一个中括号内的数字组成。

import numpy as np #这里的一个惯例是使用np作为numpy的别名
>>>a = np.array([1,2,3])
>>>a
array([1, 2, 3])

二维数组由多个一维数组组成

>>>b = np.array([[1,2,

更新时间:2023-06-14 03:02

金工研究:华泰人工智能系列之七-人工智能选股之Python实战-华泰证券-20170912

摘要

介绍Python安装方法、与机器学习相关的包以及常用命令

Python语言是目前机器学习领域使用最广泛的编程语言之一,拥有众多优秀的包和模块,并且相对简单易学。我们将简单介绍Python语言的特性,常用命令,以及和机器学习相关的包,例如NumPy,pandas,scikit-learn等,希望帮助有一定编程基础的读者迅速上手Python语言。

机器学习选股框架与多因子选股框架类似,具有一定优越性

机器学习中最为主流的方法监督学习,其核心思想是挖掘自变量和因变量之间的规律。我们将经典多因子模型稍加改造,以机器学习的语言描述。在训练阶段,根据历史的因子值X和收益

更新时间:2021-11-26 07:28

分页第1页