【机器学习】【Numpy】014_ndarray数组属性、基本生成

本文介绍了Numpy库中的ndarray对象,包括其定义、属性以及如何通过多种方式生成数组,如全0/1数组、现有数组复制、等差数组、随机数生成(正态分布和均匀分布)。还展示了如何使用这些工具创建股票涨幅数据的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

· 用于快速处理任意维度的数组。

· 支持常见的矩阵和数组操作,运算比Python简洁得多。

一、ndarray

定义:Numpy定义了一个N维数组类型ndarray,它用来描述相同类型的“items”的集合。

属性:

形状:

numpy有多维数组,直观来看,中括号有几层便是有几维。

二、数组的基本生成

1. 生成01数组
# 生成01数组
ones = np.ones([4,8])   # 生成4行8列元素全为1的数组
2. 从现有数组中生成
# 从现有数组中生成
a = np.array([[1,2,3],[4,5,6]])
a1 = np.array(a)       # 深拷贝
a2 = np.asarray(a)  # 浅拷贝
a[0,0] = 1000
print(a1)
print(a2)
3. 创建等差数组
# 创建等差数组
b = np.arange(10, 50, 2)    # (start, stop, step, dtype)
4. 生成随机数组
正态分布创建方式:

※ 使用np.random模块;

· np.random.randn(d0, d1, ... , dn)

        功能:从标准正态分布中返回一个或多个样本值。

· np.random.normal(loc = 0, scale = 1.0, size = None)

        loc:该概率分布的均值(float)

        scale:该概率分布的标准差(float)

        size:整型或整型元组,输出的shape,默认为None

· np.random.standard.normal(size = None)

        返回指定形状的标准正态分布的数组。

举例1:生成均值为1.75,标准差为1的正态分布数据,10000000个

# 生成均匀分布的随机数
x1 = np.random.normal(1.75, 1, 10000000)
# 画图看分布状况
# (1)创建画布
plt.figure(figsize=(20,10), dpi=100)
# (2)绘制直方图
plt.hist(x1, 1000)
# (3)显示图像
plt.show()

举例2:随机生成4支股票1周的交易日涨幅数据

4支股票,一周(5天)的涨幅数据,如何获取?

· 随机生成涨跌幅在某个正态分布内,比如均值0,方差1

股票涨跌幅数据的创建

# 创建符合正态分布的4支股票5天的跌涨幅数据
stock_change = np.random.normal(0, 1, (4, 5))
均匀分布创建方式

· np.random.rand(d0, d1,...,dn)

        返回[0.0, 1.0]的一组均匀分布的数

· np.random.uniform(low=0.0, high=1.0, size=None)

        功能:从一个均匀分布[low, high]中随机采样,注意定义域是左闭右开,包含low不包含high

        参数介绍:

        low:采样下界,float类型,默认0

        high:采样上界,float类型,默认1

        size:输出样本数目,为int或元组类型。例如,size=(m, n, k),则输出mnk个样本

        返回值:ndarray类型,其参数和size的描述一致

· np.random.randint(low, high=None, size=None, dtyp)

        从一个均匀分布中随机采样,生成一个整数或N维整数数组。

        整数范围:high不为None时,取[low, high]之间的随机整数。否则取[0, low]之间的随机整数。

# 生成均匀分布
x2 = np.random.uniform(-1, 1, 10000000)
plt.figure(figsize=(20, 10), dpi=100)
plt.hist(x2, 10000)
plt.show()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值