python的Numpy练习(python3)

#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))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值