NumPy:结合金融场景演示----N维数组

目录

NumPy简介

N维数组

创建N维数组

1.直接输入法

2.将列表转换为数组

3.查看数组的属性

特殊数组

1.整数数列的数组

2.等差数列的数组

3.元素为0的数组

4.元素为1的数组


NumPy简介

        可以有效进行向量和矩阵运算
        前身Numeric 最早是由吉姆·胡格尼尔(Jim Hugunin)与其他协作者共同开发的。2005 年,特拉维斯·奥利芬特(Travis Oliphant)在 Numeric 中结合了另一个同性质的程序库 Numarray的特色,并加人了其他扩展程序而开发了 NumPy。NumPy 是开放源代码的并且由许多协作者共同进行开发并维护。
        功能:

(1)可以创建强大的N维数组对象,以此作为通用数据的高效多维容器(multi-dimensional container)

(2)拥有独特的广播(broadcasting)机制,比如针对相同形状的两个数组之间的运算,就可以实现不同数组对应位置元素之间的运算,从而弥补列表运算的不足

(3)拥有实用的线性代数运算、随机抽样等功能。

#导入NumPy模块
import numpy as np
np. _version_  #查看NumPy的版本信息

N维数组

np.array(一个列表)
np.array([列表1,列表2,...,列表m])

注:圆括号中的列表可以是一个由n个元素构成的列表(相当于1xn 的向量),也可以是m个列表(每个列表均包括n个元素)作为元素所成的列表(相当于 mxn 的阵)。

创建N维数组

1.直接输入法

weight_arrayl = np.array([0.15,0.2,0.25,0.4]) #4只股票在投资组合中的配置权重
type(weight_array1)  #查看数据结构的类型
weight_arrayl.shape  #查看数组的形状

2.将列表转换为数组

weight_list = (0.15, 0.2, 0.25, 0.4)
weight_array2=np.array(weight_list) #将列表转换为一维数组
return_list = [-0.035099, 0.017230, -0.003450, -0.024551, 0.039368, -0.013892, 0.024334, 
-0.033758, 0.014622, 0.000128, 0.005848, -0.002907, 0.005831, 0.005797, -0.005764, 
0.021242, 0.002133, -0.029803, -0.002743, -0.014301]   #以列表格式输入日涨跌幅数据
return_array2 = np.array(return_list) #转换为一维数组
return_array2 = return_array2.reshape(4,5) #转换为4行5列的二维数组
return_array3=return_rray2.ravel() #将二维数组降维至一维数组

3.查看数组的属性

函数名功能Python演示
ndim查看数组的维度weight_array1.ndim
以上输出的数字1代表一维数组,数字2代表二维数组,以此类推
size查看数组中的元素数量weight_array1.size
以上输出数字4表示数组中有4个元素,数字20表示数组由20素组成
dtype查看数组中的元素类型

 weight_array1.dtype

输出的结果表明元素的数据类型

特殊数组

1.整数数列的数组

arange 输出的是个数组

a = np.arange(10)  #创建0~9的整数数列

b = np.arange(1, 18, 3)   #创建1~18且步长为3的整数数列

2.等差数列的数组

快速创建等差数列的函数 linspace

该函数有3个参数需要输入:第1个参数是数列的起始值,第2个参数是数列的终止值,第3个参数是数列中元素的个数。

 c = np.linspace(0, 100, 51)   #创建一个0~100元素个数为51的等差数列并且以数组格式存放

3.元素为0的数组

创建一个一维的零数组,数组的元素个数为 8

zero_arrayl = np.zeros(8)  #8代表形状参数

创建一个二维的零数组,并且是5x7的数组

zero_array2 = np.zeros((5,7))  #5代表行数、7代表列数

如果已经有一个或若干个数组,同时希望创建与已有数组相同形状的零数组,可以运用zeros_like函数。
 

zero_weight=np.zeros_like(weight_array1)  #创建与weight_array1相同形状的零数组

4.元素为1的数组

 ones、ones_like 函数,具体的输入方式与 zeros、zeros like函数类似。

参考书目:《Python的金融分析与风险管理》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值