Python——numpy基础

Python——numpy基础

import numpy as np     #引入numpy且重命名为np

a = np.array([1,2,3,4])   #a为1*4列表数矩阵

a.shape = 2,2   #由1*4变为2*2(此处不是转置)

b = a.reshape (2,2)    #此处reshape是创建一个新的数组,而原来的shape保持不变

a[1] = 100   #将数组的第2个元素改为100 此时b中的第二个元素也会发生改变

d[0]          #表示第一行的所有元素    
d[0][1]       #表示第一行第二列的元素
d[0,1]        #也可以表示第一行第二列的元素
d[0,:]        #冒号':'表示一整行或一整列的元素 d[0,:]与d[0]的表达相同
d[1:3,2:4]    #切片 切出一个矩形的矩阵区域

np.array([[1,2,3,4],[4,5,6,7],[7,8,9,10]],dtype=np.float)    #可以将数组里的元素都设置为浮点型(dtype=np.complex为复数形式)

c=np.arange(0,1,0.1)  #表示从0到1且每个数间隔0.1的一个数组

np.linspace(0,1,10)    #步长为1/9(包含右边界)
np.linspace(0,1,10,endpoint = False)   #步长为1/10(不包含右边界)

logspace函数和linspace类似,不过它创建等比数列,下面的例子产生1(10^0)100(10^2)、有20个元素的等比数列:np.logspace(0,2,20)

创建数组:
zeros    #创建全为0的矩阵
d=np,zeros(4)   #元素类型默认为float,因此这里可以省略np.float

ones
e=np.ones(4)    #创建全为1的矩阵

empty     #只分配内存而不初始化
f=np.empty((2,3),np.int)

函数
j = np.fromfunction(func,(10,))

# 补充
a[-1]    #可以得知最后一个元素的内容

a[3:5]    #用范围作为下标获取数组的一个切片,包括a[3]不包括a[5]

a[:5]     #省略开始下标,表示从a[0]开始

a[-1]    #下标可以是用负数,表示从数组后往前数

a[-4,-1]    #原理同上,倒着数且左闭右开

a[2:4]=100,101     #下标还可以用来修改元素的值

a[::-1]       #省略范围的开始下标和结束下标,步长为-1,整个数组头尾颠倒

存取元素

b = a[[3,3,1,8]]   #指的是b取a在3,3,1,8位置上的元素
c = a[np.array([3,3,-3,8])    #下标可以是负数
a[np.array([True,False,True,True,False])] = -1,-2,-3    #将True的位置元素导出并替换为-1,-2,-3

布尔数组
x = np. random.rand(10)   #产生一个长度为10,元素值为0-1的随机数的数组

x>0.5      #数组x中的每个元素和0.5进行大小比较,得到一个布尔数组,True表示x中对应的值大于0.5

x[x>0.5]     #使用x>0.5返回的布尔数组收集x中的元素,因此得到的结果是x中所有大于0.5的元素的数组

'''    #计算True和False的个数:
#例如数组:
arr = [True, False, False]
import numpy as np
print('True个数:', np.sum(arr!=0))
print('False个数:', np.sum(arr==0))
#输出:
True个数: 1
False个数: 2
'''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值