1.numpy常用函数汇总

1.创建数组

np.array([1,2,3,4,5]) # 创建数组
np.array((1,2,3,4,5)) # 创建元组
np.array(range(10))   # 迭代对象
np.array([i**2 for i in range(10)]) # 创建迭代器
np.array([[1,2,3],[4,5,6]]) # 二维数组

2. 设置参数类型

a = np.array([1,2,3,4,5])
# 设置数组元素类型
a_f = np.array([1,2,3,4,5],dtype='float')

3.copy的作用

a=np.array([1,2,3,4,5])
new_a=np.array(a)  
new_a[0]=10
new_a   # 输出10 2 3 4 5
a       # 输出1 2 3 4 5
a=np.array([1,2,3,4,5])
new_a=np.array(a,copy=False) 
new_a[0]=10
new_a   # 输出10 2 3 4 5
a       # 输出10 2 3 4 5

4.改变维度 

a=np.array([1,2,3])
a.shape  # 输出3
b=np.array(a,ndmin=2)
b.shape  # 输出(1,3)

5.区间函数

np.arange(10,20,3) # [10 20)之间每隔3个取一个
np.linspace(1,10,10) # [1 10]之间取10个数
np.logspace(1,5,3,base=2)  #从2^1 到 2^5,分成三份(默认base为10)

6.数列 

# 全0数列
np.zeros((2,2),dtype='int')
# 返回特定形状
np.zero_likes(arr1)
# 全1数列
np.ones((2,3,4))  #分成两块,3行4列

7.查看基本属性

print(b.size) # 查看元素个数
print(b.dtype) # 查看元素类型
b= b.astype(float) # 改变元素类型

8. 切片

##### 一维数组 #####
arr=np.arange(10)
a=arr[2:7]  # 从第二个取到第6个
b=arr[2:7:2] # [2,7)之间每隔两个取一个
c=arr[2:]    # 从第二个取到最后
d=arr[::-2]  # 倒着取,每2个取一个
e=arr[1:-2:2]  #从第一个到倒数第二个

##### 二维数组 ####
arr=np.arange(20).reshape(4,5)
a=arr[2]    # 取第二行
b=arr[2,2] # 取第二行第二列
c=arr[2:,]   #  从第二行取到最后
d=arr[:,1:] # 取所有的行,第1列到最后
e=arr[1:3,1:3]  #取1到3行  1到3列
f=arr[ [0,-1],:][:,[0,2,3] ]  #先取出0到倒数第一行,在取出0,2,3列

9.高级索引

# 取(0,0)(2,1)(0,2)(2,2)四个点,并构成2*2的矩阵
b=arr[[0,2,0,2,],[0,1,2,2]].reshape(2,2)   # 整数索引
# 将所有的奇数改为1
a[a%2!=0]=1  # bool索引

10.广播规则 

# 数组a大小为(2, 1, 3)
a = np.arange(6).reshape(2, 1, 3)
print('a:',a)

# 数组b大小为(4, 2)
b = np.arange(8).reshape(4, 2)
print('b:',b)

# 运行报错
a + b

2  1  3
   4  2 
--------
#不满足运行条件

11.统计函数 

#### 求均值 ####
np.mean(m1)        # 整体求均值
np.mean(m1,axis=0) # 按列求均值
np.mean(m1,axis=1) # 按行求均值

#### 其他函数 ####
np.sum(m1) #求最大值
np.max(m1,axis=0)  #求列的最大值
np.min(m1,axis=1)  #求行的最大值
np.std(m1)  #求标准差
np.var(m1)  #求方差
np.median(m1) #求中位数

12.随机函数

np.random.randn(4,2)  # 满足正态分布
np.random.rand(4)     # 随机分布
np.random.normal(1,3,(3,2))  #自定义(均值为1,方差为3的)
np.random.randint(10,size=5)  #取【0 10)之间的5个整数

13.其他函数 

a = np.resize(a,(3,3)) #改为3*3
np.append(a, [[7,8,9]],axis = 0) # 按行添加
np.insert(a,1,[11],axis = 0)     # 在第一行添加[11,11,11]
np.delete(a,[0,1],axis=0)        # 删除0,1行

np.argwhere(a>1)  # 返回对应索引
np.unique(a)      # 去重
np.sort(a,axis=0) # 求a按行排序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值