Numpy的使用

从原有数据装换为数组

a_list = list(range(20))
b = np.array(a_list)
print(b)
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19]

生成数组

a = np.zeros(20,dtype=int)
print(type(a))
print(a.dtype)
<class 'numpy.ndarray'>
int32

生成多维数组

a = np.zeros([5,4],dtype=float)
print(type(a))
print(a)
<class 'numpy.ndarray'>
[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]

生产带有初始化值的多维数组

a = np.full([3,3],9.9)
print(a)
[[9.9 9.9 9.9]
 [9.9 9.9 9.9]
 [9.9 9.9 9.9]]

仿照生成数组

b = np.zeros_like(a)
print(b)

b = np.ones_like(a)
print(b)

b = np.full_like(a,3.3)
print(b)
[[9.9 9.9 9.9]
 [9.9 9.9 9.9]
 [9.9 9.9 9.9]]
[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]
[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]
[[3.3 3.3 3.3]
 [3.3 3.3 3.3]
 [3.3 3.3 3.3]]

生成随机数组

import random
rad = random.randint(1,50)
print(rad)

nprad = np.random.random((5,5))
print(nprad)
[[0.88665299 0.15469618 0.92227034 0.5504737  0.04441958]
 [0.19598922 0.19546181 0.93763495 0.5003918  0.06118416]
 [0.25083197 0.63792372 0.25348255 0.54956645 0.80567947]
 [0.07546286 0.16186728 0.04644008 0.09530208 0.72491862]
 [0.46018823 0.14911618 0.41774599 0.68126355 0.22812571]]

生成一个多维数组的随机数

nprad = np.random.randint(0,10 ,(5,5))
print(nprad)
[[1 0 3 9 3]
 [7 7 9 8 0]
 [6 7 8 9 3]
 [6 9 9 5 9]
 [2 2 9 2 4]]

范围取值

l = list(range(0,10))
print(l)

npl = np.arange(0,20,3)
print(npl)

npr = np.linspace(0,3,10)
print(npr)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[ 0  3  6  9 12 15 18]
[0.         0.33333333 0.66666667 1.         1.33333333 1.66666667
 2.         2.33333333 2.66666667 3.        ]

生成单位矩阵(5*5维单位矩阵)

e = np.eye(5)
print(e)
[[1. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0.]
 [0. 0. 1. 0. 0.]
 [0. 0. 0. 1. 0.]

访问数组中的元素

嵌套列表中的数组访问
var = [[1,2,3],[4,5,6],[7,8,9]]
print(var)
print(var[0][0])
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
1
访问数组中的元素
var1 = np.full((4,4),8.9,dtype=float)
print(var1)
print(var1[0][0])
print(var1[0,0])
[[8.9 8.9 8.9 8.9]
 [8.9 8.9 8.9 8.9]
 [8.9 8.9 8.9 8.9]
 [8.9 8.9 8.9 8.9]]
8.9
8.9

数组切片访问
var2 = np.array(var)
print(var2)
print(var2[:2,:2])
[[1 2 3]
 [4 5 6]
 [7 8 9]]
[[1 2]
 [4 5]]

数组属性

#数组维度
print(var2.ndim)
#shape
print(var2.shape)
#大小
print(var2.size)

#数组类型
print(var2.dtype)
#每个元素所占的字节数
print(var2.itemsize)
2
(3, 3)
9
int32
4

数组运算 + - * /

var = np.array(list(range(10)))
print(var)

var1 = var +10
print(var1)

var2 = var -10
print(var2)

var = np.full((3,3),2.3,dtype=float)
print( var * 10)
[0 1 2 3 4 5 6 7 8 9]
[10 11 12 13 14 15 16 17 18 19]
[-10  -9  -8  -7  -6  -5  -4  -3  -2  -1]
[[23. 23. 23.]
 [23. 23. 23.]
 [23. 23. 23.]]

统计类型运算

#求和

数组一维求和
var = np.full(10,3.6)
s = np.sum(var)
print(s)
36.0
数组多维求和
var = np.array([[1,2,3],[4,5,6],[7,8,9]])
s = np.sum(var)#效率很高,推荐使用
s = sum(var)
print(s)
[12 15 18]
求最大者
m = np.max(var)
print(m)
9
比较
var = np.array(range(10))
print(var)
print(var>3)
print(var!=3)
[0 1 2 3 4 5 6 7 8 9]
[False False False False  True  True  True  True  True  True]
[ True  True  True False  True  True  True  True  True  True]
数组中所有的元素大于-1
print(np.all(var >-1))
True
生产一个3*10的数组
var = np.full((2,10),1,dtype=float)
print(var)
[[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]
变形
print(var.reshape(4,5))
[[1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]]
 

aaa

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wb175208

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值