#coding=utf-8
import numpy as np
'''
numpy 数组
'''
data = np.arange(12).reshape(3,4) #创建一个3行4列的数组
#print(data)
#print(type(data))
#print(data.ndim) #数组维度的个数,2维,3*4
#print(data.shape) #数组的行数 列数 (3,4)
#print(data.size) #数组的个数 12
#print(data.dtype) #数组的元素类型
#创建Numpy数组
data1 = np.array([[1,2,3],[4,5,6]])
#print(data1)
#一维数组
data0 = np.array([1,2,3])
#全0数组
data2 = np.zeros((3,4))
data3 = np.zeros(3)
#print(data2)
#print(data3)
#全1数组
data4 = np.ones((3,4))
#创建全空数组 ,每个值接近于0的数
np.empty((3,4))
#
#print(np.arange(1,20,5)) #[ 1 6 11 16] start stop step dtype
#print(np.array([1,2,3,4],float))
#print(np.ones((2,3),dtype='float64'))
#ndarray对象的数据类型
data_one = np.array([[1,2,3],[4,5,6]])
#print(data_one.dtype.name) # int32
#数据类型转换
float_data = data_one.astype(np.float64)
#print(float_data) # float64
#print(float_data.dtype)
int_data = float_data.astype(np.int64)
#print(int_data)
str_data = np.array(['1','2','3'])
#print(str_data)
#print(str_data.dtype)
int_data2 = str_data.astype(np.int64)
#print(int_data2)
#数组运算
data11 = np.array([[1,2,3],[4,5,6]])
data22 = np.array([[1,2,3],[4,5,6]])
#print(data11 + data22)
#print(data11 * data22)
#print(data11 - data22)
#print(data11 / data22)
#数组广播,数组运算时一对一的,也就是a.shape=b.shape,但当两者不一样时就会触发广播机制(扩展完后n*m,相同后再运算)
arr1 = np.array([[1],[2],[3],[4]])
arr2 = np.array([1,2,3])
#print(arr1+arr2)
#[[2 3 4]
# [3 4 5]
# [4 5 6]
# [5 6 7]]
#数组和标量间运算,数组每个值与标量运算
data23 = 10
#print(data11 + data23)
#ndarray 的索引和切片 a[5] a[3:5] a[1:6:2] 1:6:2 获取索引为1~6的元素,步长维
a = np.arange(36).reshape(6,6)
#print(a)
#print(a[0,2:4]) #获取索引维2~4的元素,但不包括4
#print(a[4:,4:,])
#print(a[2,:])
#print(a[1])
#print(a[:2])
#arr = np.arange(8)
#print(arr)
#print(arr[1:6:2])
#布尔型
student_name = np.array(['Tom','Lily','Jack','Rose'])
#print(student_name)
student_score = np.array([[79,88,80],[89,90,92],[83,78,85],[67,98,99]])
#print(student_score)
#print(student_name=='Jack') #通过运算产生布尔数组
#print(student_score[student_name=='Jack'])#将布尔数组作为索引用于存储成绩的数组
#print(student_score[student_name=='Jack',:1])
#数组的转置和轴对称
arra = np.arange(12).reshape(3,4)
#print(arra)
#print(arra.T)
#print(arra.transpose())
#Numpy 通用函数
np.sqrt(arra)
np.abs(arra)
np.square(arra)
np.add(1,2)
np.multiply(1,2)
np.maximum(1,2)
np.greater(1,2)
#numpy 数组统计运算
ast = np.arange(10)
ast.sum()
ast.mean()
ast.min()
ast.min()
ast.max()
ast.argmin() #求最小值的索引
ast.argmax()
ast.cumsum()#求元素的累计和
ast.cumprod()#求元素的累计积
np.floor([-0.6,-1.4,-0.1])
np.ceil([1.2,1.5,1.8,-0.6])
#数组排序
ast.sort()
#检索数组元素
np.any(ast > 0)
np.all(ast > 0)
#随机数
#print(np.random.rand(3,3))
#print(np.random.rand(2,3,3))
np.random.seed(0)#随机数种子
print(np.random.rand(5))
python的Numpy练习(python3)
最新推荐文章于 2022-06-06 10:38:26 发布