6 Numpy函数之random、arange、reshape、flatten、linspace、zeros、ones、empty、identity、eye&常用数学函数&整合、切分、追加、插入

 欢迎来到@一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力

对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426@qq.com 。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

    专栏:

文章概述:对 Numpy函数之random、arange、reshape、flatten、linspace、zeros、ones、empty、identity、eye&常用数学函数&整合、切分、追加、插入的介绍

关键词:Numpy函数之random、arange、reshape、flatten、linspace、zeros、ones、empty、identity、eye&常用数学函数&整合、切分、追加、插入

本文目录

实用的Numpy函数

random

arange

reshape

flatten(变成一维数组)

linspace

zeros, ones, empty

identity and eye

Numpy函数之常用数学函数

Numpy数组的整合、切分、追加、插入

整合与切分array

追加与插入

实用的Numpy函数

random

np.random.random(size=2)  #从区间0~1之间取值,有可能取得0

np.random.normal(size=2)  #从正态分布中取值,均值为0,方差为1

np.random.rand(2,4)     #根据均匀分布随机取值

np.random.randint(2,100,size=(2,4))

arange

# arange
np.arange(10)
np.arange(5, 10)
np.arange(0, 1, .1)

reshape

# reshape
np.arange(10).reshape(2, 5)
np.arange(10).reshape(5, 2)
np.arange(10).reshape((5,2,1))

flatten(变成一维数组)

np.arange(10).reshape((5,2,1)).flatten()

linspace

# linspace
np.linspace(0,1,5)
np.linspace(0,1,20)
np.linspace(0,1,20,False)

zeros, ones, empty

# zeros, ones, empty
np.zeros(5)
np.zeros((3,3))
np.zeros((3,3), dtype=int)#元素是整形0
np.ones(5)
np.ones((3,3))

#只开辟空间,里面可能是不需要的值,不确定
#但是后期可以为这个空数组赋值,会快很多
np.empty(5)
np.empty((2,2))

identity and eye

identity就是创建对角矩阵

eye可以创建对角矩阵,也可以不是标准的对角矩阵,只要求对角线是1

# identity and eye
np.identity(3)
np.eye(3,3)
np.eye(8,4)
np.eye(8,4,k=1)
np.eye(8,4,k=-3)

k:对角线的位置。k=0 表示主对角线,k>0 表示在主对角线之上,k<0 表示在主对角线之下。

Numpy函数之常用数学函数

import numpy as np


x = np.array([
   [1,2,3],
   [4,5,6],
   [7,8,9]
])
print(np.sin(x))
print(np.cos(x))
print(np.exp(x))
print(np.log(x))
print(np.sqrt(x))

Numpy数组的整合、切分、追加、插入

整合与切分array

concatenate stack

a = np.array([
   [1,2,3,7],
   [4,5,6,7],
   [7,8,9,7]
])
b = np.array([
   [10, 20, 30, 40],
   [50, 60, 70, 80],
   [70, 80, 10, 20],
])

c = np.concatenate((a,b))
print(c)

c2 = np.stack((a,b)) # 创建一个新的维度

print(c2)
print(c.shape)
print(c2.shape)

#横向
d=np.hstack((a,b))
print(d)

#纵向
e=np.vstack((a,b))
print(e)

a = np.array([
   [1,2,3,7],
   [4,5,6,7],
   [7,8,9,7],
   [8,5,3,1]
])
print(np.split(a, 4))
print(np.split(a, 2))
print(np.hsplit(a, 4))
print(np.hsplit(a, 2))

追加与插入

#b = [10, 20 ,30 ,40]
#a = np.append(a,b)
#print(a)
b =np.array([10, 20 ,30 ,40]).reshape(1,4)# 需要有同样的维度
a = np.append(a,[b])
#print(a) 还是不行

a = np.append(a,b,axis=0) # 还需要选择维度,以行的形式添加
print(a)

a = np.insert(a,1,b,axis=0) # 另一种做法,将b以行的形式插入到a中下标是1的位置上去
print(a)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值