numpy库学习

1.定义一个数组

import  numpy as np

t1 = np.array([1,2,3,4,5,6])
#等价于
t2= np.array(range(1,6))
#等价于
t3= np.arange(6)#相当于把t2的功能进行了结合,推荐

2.检查数据类型

print(type(t3))
print(t3.dtype)

#输出为
<class 'numpy.ndarray'>
int64

2.1指定特定类型的数组

t3= np.arange(6,dtype=float)#或者是"float32/float64"

2.3调整数据类型以及小数操作

t4= t3.astype("int8")



t4= np.array([random.random() for i in range(10)])#random.random生成0到1的随机小数
t5=np.round(t4,2)#对小数进行四舍5入
print(t4)
print(t5)

2.4数组的形状

#一维数组
t1 = np.array([1, 2, 3, 4, 5, 6,7,8,9,10,11,12])
print(t1.shape) #这里显示(12,)表示有多少个元素
#二维数组
t2= np.array([[1,2,3],[13,5,5]])
print(t2.shape)#这里显示(2,3)表示2行3列

#修改数组形状,比如这里我们把一维数组变成一个3行4列的数组
t3=t1.reshape((3,4))#转化为一维数组据是re4shape((12,))
print(t3)

#二维数组展开成一维数组 用flatten
t4=t2.flatten()
print(t1)

2.4.1  

#数组的计算可以用+ - * /
#数组+某个数字==对数组的每个元素进行+(同理其他)
#数组与数组操作
 #当3行4列的二维数组和只有3个元素的一维数据进行计算时,会分别与每列的数据进行操作,同理,当只有4个元素时,分别每行操作,其他数量的一维操作不可行

3 对于轴(axis)的理解

4.numpy对数据的读取与转置

t1=np.loadtxt(path,delimiter=",",detype="int",unpack=True)#unpack为是否进行矩阵转置,delimiter为数据分隔的符号设定



#转置的3种方法
t5=t3.transpose()
print(t5)
t6=t3.T
print(t6)
t7=t3.swapaxes(1,0)#此法为交换轴,之前为0轴与1轴
print(t7)

5.对数据的切片索引

import  numpy as  np
a=np.array([
    [1,3,4,5],
    [2,4,5,7],
    [6,7,6,8],
    [8,9,7,5],

])
b=a[0]#取第一行
c=a[:,[1,3]]#取2,4列
e=a[[0,2],[1,2]]#取得的是(0,1)(2,2)这两个点
print(b)
print(c)
print(e)
a[[0],[0]]=100#对(0,0)这个点进行修改
a[[0,1]]=100#对0和1行全部取为100
a[a<100]=0#对数组内小于100的元素全部赋值为0

f=np.where(a<10,0,100) #numpy中的三元运算符

#numpy中的裁剪操作
g=a.clip(10,20)#将数组中小于10的替换为0,大于20的替换为20
print(g)

 5.数组的拼接

在数组中,.shaoe的作用是返回数组维度的大小,如a[0].shape返回的是数组a的第一维度也就是行的大小。

c=np.vstack((a,b))#竖直拼接
print(c)
d=np.hstack((a,b))#水平拼接
print(d)
d[[1,2],:]=d[[2,1],:]#数组的行交换
print(d)
d[:,[3,4]]=d[:,[4,3]]#数组的列交换
print(d)
创建全0数组:np.zeros((2,1))
创建全1数组:np.ones((3,4))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值