numpy的简单操作

垂直拆分:numpy.vsplit

import numpy as np
"""
垂直拆分:numpy.vsplit
"""
c = np.arange(1,13).reshape(6,2)
print(c)
#三维矩阵
print(np.vsplit(c,3))

运行截图:

 

水平拆分:numpy.hsplit

 

import numpy as np
"""
水平拆分:numpy.hsplit
"""
c = np.arange(1,13).reshape(6,2)
d = c.T
print(d)
print(np.hsplit(d,3))

运行截图

灵活使用

import numpy as np
inistate =np.array([1,2,3,4])
pre_inistate = inistate[0:3]
print(pre_inistate)

 

 numpy基本加减和取行操作

import numpy as np
a = np.array([1,1,1,1])
b = np.array([[1],[1],[1],[1]])
print(a+b)


c = np.array([[1,1,1,1]])
print(c+b)

矩阵删除、插入、尾部添加操作(delete,insert,append)

delete()函数

import numpy as np
matrix = [
[1,2,3,4],
[5,6,7,8],
[9,10,11,12]
]
p1 = np.delete(matrix, 1, 0) # 第0维度(行)第1行被删除(初始行为0行)
print(p1)

insert()函数

import numpy as np
matrix = [
[1,2,3,4],
[5,6,7,8],
[9,10,11,12]
]
q1 = np.insert(matrix, 1, [1,1,1,1], 0) # 第0维度(行)第1行添加[1,1,1,1]
print(q1)

 append()函数

import numpy as np
matrix = [
[1,2,3,4],
[5,6,7,8],
[9,10,11,12]
]
m1 = np.append(matrix,[[1,1,1,1]],axis=0)
print(m1)

 

np.random.choice(a, size, replace, p)

import numpy as np
a1 = np.random.choice(7,5) # 从0~7中随机选择5个数组成一维数组
print(a1)

 

np.argmax(a, axis=None, out=None)

import numpy as np
a = np.array([[1,1,1],[2,2,2],[0,3,6]])


b1 = np.argmax(a) # 将数组a拉平,最大值索引为9(初始索引为0)
print(b1)

 

星号(*)的作用

列表前加星号作用是将列表解开成两个独立的参数,输入函数。
字典前加两个星号,是将字典解开成独立的元素作为形参。

import numpy as np
y1 = np.linspace(-10.0,10.0) # 默认生成50个数据
print(y1)

 

 拉平操作 ravel()和faltten()及reshape(1,-1)的区别联系(补充[None,:]操作)

import numpy as np
x = np.array([[1,2,3],[4,5,6],[1,2,3]])
print(x.flatten())

np.prod() 计算元素乘积

import numpy as np
x = np.array([[1,2,3],[2,3,4]])
print(np.prod(x))

 把矩阵大于或小于N的元素置M的技巧

import numpy as np
x = np.array([[1,2,3],[-3,2,4],[5,-2,9]])


y1 = np.maximum(0,x) # 把小于0的元素置0,比改变x的值
print(y1)

 

 numpy中的矩阵copy问题

import numpy as np
x = np.array([[1,2,3],[-3,2,4],[5,-2,9]])


x1 = x.copy() # copy(),开辟新地址
x1[x1 > 0] = 0
print(x1)

np.zeros_like()构造全零矩阵,无需指定大小

import numpy as np
x = np.array([[1,2,3],[4,5,6]])
print(np.zeros_like(x)) # 生成一个和x大小相同的全零矩阵

 

random.rand和random.rand和random.randint区别

np.random.rand() 生成均匀分布矩阵
创建一个矩阵,服从[0,1]随机分布

import numpy as np
n = np.random.rand(3,4)
print(n)

np.random.randn() 生成正太分布矩阵

创建一个矩阵,服从N(0,1)标准正太分布。
一般正太分布N = ( μ , σ 2 ) N=(\mu ,\sigma^2)N=(μ,σ 2 )可通过 sigma * np.random.randn(…) + m 实现

import numpy as np
x = np.random.randn(2,3)
print(x)

y = np.multiply(0.1,np.random.randn(2,3))+0.5 # 一般正太分布
print(y)

 

 np.randm.randint() 生成离散均匀分布的整数值组成的矩阵
numpy.random.randint(low,high=None,size=None,dtype)
生成半开半闭区间[low, high)上离散均匀分布的整数值,未给出high时,区间变为[0, low)
 

import numpy as np
z = np.random.randint(2,9,(2,3))
print(z)
m = np.random.randint(9,size = (2,3))
print(m)

np.pad()函数进行padding操作

import numpy as np
A = np.arange(95,99).reshape(2,2)
print(A)
np.pad(A,((3,2),(2,3)),'constant',constant_values = (0,0))


b = np.array([[[1,2],[3,4]],[[3,4],[7,8]],[[4,5],[1,2]]])

print(b)

 numpy.empty() 创建指定形状和数据类型且未初始化的数组

import numpy as np
x = np.empty([3,2], dtype = int)
print (x)

 

关于 np.mat() 的使用

np.array() 更具有通用性,np.mat 只适用于二维矩阵
np.mat() 和 np.matrix() 都可以将 list 转换为 numpy.matrix 类型的矩阵,而 np.array() 不行

np.meshgrid() 快速生成网格

import numpy as np
x = np.array([1,3,5])
y = np.array([4,6])
XX,YY = np.meshgrid(x,y)
print(XX)

print(YY)

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值