python基础课程5(看代码看注释)--numpy

#人生苦短,我用python
#给文件设置配置环境路径:file->Settings->project mylesson->project interpreter
#numpy:除了字符串、列表、元组、字典之外还有一种数据结构就是数组,列表能存储任意数据,数组只能存储一种类型数据。array
#pandas
#matplotlib
import random
import array
array.array('i',range(10))#生成10的列表转化为数组
#a[1] = 'ss'##报错,因为数据类型必须要统一,因此常用numpy
import numpy as np
#从原有列表转换为数组
a_list=list(range(10))
print(a_list)
b = np.array(a_list)
print(b)
type(b)
#生成数组
a = np.zeros(10,dtype = int)#有是个元素的数组
print(type(a))
#查看数组类型
a.dtype
#生成多维数组
a = np.zeros((4,4),dtype=int)
print(a)
print(type(a))

#查看数组类型2
print(a.dtype)
a = np.ones((4,4),dtype=float)
print(a)
print(type(a))
#查看数组类型
print(a.dtype)
#随意生成
np.full((5,5),3.14)
#比照数据类型和纬度生成新的纬度
print(np.zeros_like(a))#比照着a生成一个数组
print(np.ones_like(a))
print(np.full_like(a))

#random
print(random.randint(5,10))#生成5-10之间的值
print(random.random())

a1=np.random.random((3,3))
print(a1)
#生成随机数时经常用到
print(np.random.randint(0,10,(3,3)))
list(range(0,10,2))
np.arange(0,10,2)#0-10范围内取数,步长为2
#经常用到
np.linspace(0,3,100)#0-3取100个数
#n维的单位矩阵
np.eye(5)
###访问数组中的元素
#嵌套列表的元素访问
var = [[1,2,3,4,5],[5,6,7,8,9]]
a = np.array(var)
print(var[0][0])
a.np.full((3,3),9.9,dtype=int)
print(a[0][0])##数组访问和列表访问时一样的
#这两种访问方式是一样的
print(a[0,1],a[0][1])
#数组切片
#跟上边方式不等价
a[:2,:2],a[:2][:2]
##数组的属性
#维度
print(a.ndim)
print(a.shape)
print(a.size)
print(a.dtype)
print(a.itemsize)#每个数组占的字节
print(a.btype)

##numpy数组的运算,基础运算相当于对每个元素都做运算
a = np.array(list(range(10)))
print(a+10)#基础运算相当于np.add(a,10)
print(a-10)
a = np.array((3,3),1.0,dtype=float)
print(a+10)
np.add(a,10)
a = np.linspace(0,np.pi,5)
b = np.sin(a)
print(a,b)
#np.数学公式特别多,自己练习

##统计类型
sum[[1,2,3,4,5,6]]
#数组一维求和
a =np.full(10,2.3)
print(sum(a))
#数组多维求和
a =np.array([[1,2],[3,4]])
print(sum(a))
#np.sum求和
np.sum(a)
np.sum(a,axis=1)

np.max(a)
np.max(axis=1)

np.random.rand(10000)

##notebook使用小技巧
#%timeit 代码:此方法来判断程序的执行效率
#%time.np.sum(n)
###比较
a = np.array(range(10))
a>3#输出每个元素和3的比较,输出布尔型数据
a==a
np.all(a>-1)#全部为True,相当于汇总
##变形reshape
a = np.full((2,10),1,dtype=float)
print(a.shape)
print(a.size)
print(a.ndim)
print(a.reshape(4,5))
##排序
np.sort(a)#从小到大排序
a.sort(axis=1)
a.sort(axis=0)
##拼接函数
a = np.array([1,2,3])
b = np.array([0,2,4],[5,6,7])
np.concatnate([b,b,b],axis=1)








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值