NumPy科学计算库-基础操作

一、数组创建

1、创建数组
import numpy as np

# 创建数组
arr = np.array([1,2,3,4,5,6])
# 输出:[1 2 3 4 5 6]
print(arr)
2、创建全是1的数组
import numpy as np

# 创建全是1的数组
arr1 = np.ones(10)
# 输出:[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
print(arr1)
3、创建全是0的数组
import numpy as np

# 创建全是0的数组
arr2 = np.zeros(10)
# 输出:[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
print(arr2)
4、生成一个具有指定形状、数据类型和填充值的数组
import numpy as np

# 生成一个具有指定形状、数据类型和填充值的数组
# np.full参数详解
# shape:参数指定了输出数组的形状,可以是一个整数、元组或列表,表示数组的维度大小;
# fill_value:参数用于指定填充数组的元素值,可以是任何Python数据类型,包括数值、字符串、布尔值等;
# dtype:参数用于指定输出数组的数据类型,如果未指定,则根据 fill_value 的类型自行判断;
# order:参数用于指定数组的存储顺序,默认为 ‘C’,表示按行优先顺序存储 ; ‘F’,表示按列优先顺序存储;

arr3 = np.full(shape=[2,3], fill_value=3.14)
# 输出:[[3.14 3.14 3.14]
# [3.14 3.14 3.14]]
print(arr3)
5、创建等差数列
import numpy as np

# 创建等差数列
# np.arange参数详解
# start:序列的起始值,默认为0;
# stop:序列的结束值(不包括该值本身);
# step:序列的步长,即相邻两个数的差值,默认为1;
# dtype:输出数组的数据类型,如果没有提供,则会推断数据类型;
arr4 = np.arange(start=0, stop=20, step=2)
# 输出:[ 0  2  4  6  8 10 12 14 16 18]
print(arr4)
6、生成一个一维数组,数组中的元素是等间隔分布
import numpy as np

# np.linspace参数详解
# start:序列的起始值;
# stop:序列的结束值,如果 endpoint 为 True,该值包含在序列中;如果为 False,则不包含;
# num:要生成的样本数,默认为 50;
# endpoint:如果为 True,stop 是最后一个样本;否则,不包括 stop。默认为 True;
# retstep:如果为 True,返回 (samples, step),其中 step 是样本间隔。默认为 False;
# dtype:输出数组的类型。如果未给出,则从其他输入参数推断数据类型;
# axis:在 0 上,返回一维数组,其他值则返回指定维度的数组;
arr5 = np.linspace(start=0, stop=10, num=5)
# 输出:[ 0.   2.5  5.   7.5 10. ]
print(arr5)
7、生成随机整数
import numpy as np

# np.random.randint 用于生成随机整数。它可以在指定的区间(左闭右开)内生成一个或多个随机整数
# np.random.randint参数详解
# low:生成的随机整数的最小值(包含该值)。如果high为None,则low为最大值,生成的随机整数范围是[0, low);
# high:生成的随机整数的最大值(不包含该值)。如果high是None,则按照上面的规则处理;
# size:输出的形状。例如,如果size=(m, n),则返回一个m行n列的二维数组;如果size = 3,则返回一个包含 3 个元素的一维数组;
# dtype:数据类型,默认是'l'(长整型),可以指定为其他整数类型,如np.uint8等
arr6 = np.random.randint(0, 100, size=10)
# 输出:[36 29 45 99 96 23 18 90 17 29]
print(arr6)

# np.random.random 与 np.random.randint 相似,用于生成float随机数
arr7 = np.random.random(size=5)
# 输出:[0.5688695  0.93793004 0.74809609 0.92330031 0.61519646]
print(arr7)
8、正态分布
import numpy as np

# np.random.randn 生成满足标准正态分布(均值为0,标准差为1)的随机数或随机数组
# 接受一个或多个整数参数,用于指定输出数组的形状。这些参数以元组的形式传入,
# 例如 (m, n) 表示生成一个 m 行 n 列的二维数组。如果不传入任何参数,则默认生成一个单一的随机数
arr8 = np.random.randn(5)
# 输出:[ 0.7948515   1.29931475 -0.78480926  0.57158442 -0.69974361]
print(arr8)

二、查看数组的操作

import numpy as np

# 创建一个 3维 4行 5列的随机数
arr9 = np.random.randint(0, 100, size=(3,4,5))

# 查看数组的维度
# 输出:3
print(arr9.ndim)

# 查看数组的形状
# 输出:(3, 4, 5)
print(arr9.shape)

# 查看数组元素总数
# 输出:60
print(arr9.size)

# 查看数组类型
# 输出:int32
print(arr9.dtype)


# 查看每个元素的大小
# 输出:4,如果是int64的 输出是8
print(arr9.itemsize)

三、IO操作

import numpy as np

x = np.random.randn(5)
y = np.arange(0, 10, 1)

# 保存数组

# save方法 可以保存ndarray到一个npy文件中
np.save("x_arr",x)
# savez方法 将多个array保存到一个.npz文件中 以key-value形式保存,key可以是任意
np.savez("some_arry.npz", xarr = x, yarr = y)

# 读取

# load方法 读取数组,如果是.npz文件的话,读取之后相当于形成了一个key-value类型的变量,通过保存时定义的key来获取相应的array
print(np.load('x_arr.npy'))
print(np.load('some_arry.npz')['yarr'])

# 读写 csv、txt文件

arr10 = np.random.randint(0,10,size=(3,4))
# 保存数组到csv文件, txt同理
# fmt:要存储的数据格式,会默认使用科学计数法 "%d"表示设置为int型,"%s"表示为字符型,"%f"表示保留几位小数 例如:"%.2f"
np.savetxt('arr10.csv', arr10, delimiter=',', fmt='%d')
# 读取csv文件,delimiter为分隔符,dtype为数据类型
print(np.loadtxt('arr10.csv', delimiter=',', dtype=np.int32))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值