目标
ones=np.ones([4,8])
ones
返回结果:
array([[1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1.]])
a=np.array([[1,2,3],[4,5,6]])
#从现有的数组当中创建
a1=np.array(a)
#相当于索引的形式,并没有真正的创建一个新的
a2=np.asarray(a)
#生成等间隔的数组
np.1inspace(0,100,11)
返回结果:
array([o.,10.,20.,30.,40.,50.,60.,70.,80.,90.,100.])
np.arange(10,50,2)
返回结果:
array([10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48])
#生成10~x
np.logspace(0,2,3)
返回结果:
array([1.,10.,100.])
一、基础概念复习:正态分布(理解)
a.什么是正态分布
正态分布是一种概率分布。正态分布是具有两个参数u和o的连续型随机变量的分布,第一参数u是服从正态分布的随机变量的均值,第二个参数是σ此随机变量的方差,所以正态分布记作N(μ,σ)。
b.正态分布的应用
生活、生产与科学实验中很多随机变量的概率分布都可以近似地用正态分布来描述。
c.正态分布特点
μ决定了其位置,其标准差σ决定了分布的幅度。当μ=0,σ=1时的正态分布是标准正态分布。
标准差如何来?
·方差
是在概率论和统计方差衡量一组数据时离散程度的度量
其中M为平均值,n为数据总个数,σ为标准差,σ^2可以理解一个整体为方差
功能:从标准正态分布中返回一个或多个样本值
x1=np.random.normal(1.75,1,100000000)
返回结果:
array([2.90646763,1.46737886,2.21799024,...,1.56047411,1.87969135,0.9028096])
import matplotlib.pyplot as plt
#生成均匀分布的随机数
x1=np.random.normal(1.75,1,100000000)
#画图看分布状况
#1)创建画布
plt.figure(figsize=(20,10),dpi=100)
#2)绘制直方图
plt.hist(×1,1000)
#3)显示图像
plt.show()
例如:我们可以模拟生成一组股票的涨跌幅的数据
举例2:随机生成4支股票1周的交易数据
4支股票,一周(5天)的涨跌幅数据,如何获取?
股票涨跌幅数据的创建
#创建符合正态分布的4只股票5天的涨跌幅数据
stock_change=np.random.normal(0,1,(4,5))
stock_change
返回结果:
array([[-0.64489518, -1.14985285, 0.84583477, 0.28890913, 0.23155085],
[-0.2102994 , 0.37338262, -0.56323999, 1.5284532 , -1.25260469],
[ 0.45450866, 1.1823262 , 1.15366796, -0.09228582, 1.48009055],
[ 1.22374015, -1.26386145, -1.14272085, 0.09507613, -1.27082134]])
#生成均匀分布的随机数
x2=np.random.uniform(-1,1,100000000)
返回结果:
array([0.22411206,0.31414671,0.85655613,...,-0.92972446,0.95985223,0.23197723])
画图看分布状况:
import matplotlib.pyplot as plt
#生成均匀分布的随机数
x2=np.random.uniform(-1,1,100000000)
#画图看分布状况
#1)创建画布
plt.figure(figsize=(10,10),dpi=100)
#2)绘制直方图
plt.hist(x=x2,bins=1000)#x代表要使用的数据,bins表示要划分区间数
#3)显示图像
plt.show()
一维、二维、三维的数组如何索引?
二维数组索引方式:
·举例:获取第一个股票的前3个交易日的涨跌幅数据
#二维的数组,两个维度
stock_change[0,0:3]
返回结果:
array([-0.64489518, -1.14985285, 0.84583477])
#三维
a1=np.array([[[1,2,3],[4,5,6]],[[12,3,34],[5,6,7]]])
#返回结果
array([[[ 1, 2, 3],
[ 4, 5, 6]],
[[12, 3, 34],
[ 5, 6, 7]]])
#索引、切片
>>>a1[0,0,1]
#输出:2
#在转换形状的时候,一定要注意数组的元素匹配
stock_change.reshape([5,4])
#数组的形状被修改为:(2,10),-1:表示通过待计算
stock_change.reshape([-1,10])
stock_change.resize([5,4])
#查看修改后结果
stock_change.shape
(5,4)
stock_change.T.shape
(4,5)
stock_change.astype(np.int32)
arr=np.array([[[1,2,3],[4,5,6]],[[12,3,34],[5,6,7111)
arr.tostring()
temp=np.array([[1,2,3,4],[3,4,5,6]])
>>>np.unique(temp)
array([1,2,3,4,5,6])