import numpy as np
import random
#处理数值型的数据
#使用numpy生成数组,类型为ndarray
t1=np.array([1,2,3])
print(t1)
print(type(t1))
t2=np.array(range(10))
print(t2)
'full填充元素' \
'np.full((2,3),10)' \
'在2行3列中所有元素都为10'
########numpy生成数组,4到10取步长为2的数组
t3=np.arange(4,10,2)
print(t3)
#########使用numpy查看数组中的数据类型
print(t3.dtype)
##########numpy中的数据类型,dtype设置数据类型
t4=np.array(range(1,4),dtype=float)
print(t4)
t5=np.array([1,2,3,0],dtype=bool)
print(t5)
##########numpy中的调整数据类型
t6=t5.astype("int32")
print(t6)
##########numpy中的小数
t7=np.array([random.random() for i in range(10)])
print(t7)
##########将t7中的数字取两位小数
t8=np.round(t7,2)
print(t8)
print("************************************")
#####numpy数组的形状
##########重新定义一个数组的形状
a1=np.arange(12)
a2=a1.reshape(3,4)
'a2=a1.reshape((3,4),order='F')' \
'按照'
print(a2)
a3=a1.reshape(2,3,2)
'块数,每一块中的3行数,列数每一行的个数'
print(a3)
#原地操作 ,输出结果为null
a4=a3.reshape(2,3,2)
#((24,1))24行
#((1,24))24列
print(a3.shape)
'a3.shape(2,3)' \
'是指对a3数组进行原地的操作'
#行数*列数
a6=a3.reshape(a3.shape[0]*a3.shape[1]*a3.shape[2])
print(a6)
#############将数组中的所有元素转换为一行
a5=a3.flatten()
print(a5)
print("**************numpy中的数组计算***********")
#广播,对数组进行计算,其中每一个元素都会计算
b1=a3
print(a3+2)
#0/0为nan,不是一个数值
b2=np.arange(100,112).reshape((2,3,2))
print(b2)
print(b1+b2)
#当数组的形状一样的时候,对应数字相互计算
#当维度不一样的时候,进行行列对比,有相同维度的进行计算,没有相同的就报错
#广播原则
#[3,3,3]和[3,2]不能计算
#[3,3,2]和[3,2]可以计算
#####上课补充:
#查看每一行的长度
a1.strides
机器学习——numpy库的学习
最新推荐文章于 2024-05-10 02:52:23 发布