【Python3】numpy基础语法学习笔记

import numpy
numbers = numpy.array([1, 2, 3, 4])
array([1, 2, 3, 4])
numpy.array的属性:numbers.dtype
numbers = numpy.array([1, 2, 3, 4.0])
print(numbers)
[ 1. 2. 3. 4.]
numpy.array默认为同一dtype,自动向上转型
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
print(matrix[1:3,])
1,2行全部(从0行开始)
[[20 25 30]
[35 40 45]]
print(matrix[1:3,1])
1,2行第1列
[25 40] (虽然符合结果但是为何是这种表示方式…)
print(matrix[1:3,1:2])
[[25]
[40]]
这就符合预期了

print(np.arange(15)) np.arrange()
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
默认从0开始,间距为1
np.arange(18).reshape(3,2,3)
array([[[ 0, 1, 2],
[ 3, 4, 5]],
[[ 6, 7, 8],
[ 9, 10, 11]],
[[12, 13, 14],
[15, 16, 17]]])
np.linspace(0, 99, 100)
array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.,
11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21.,
22., 23., 24., 25., 26., 27., 28., 29., 30., 31., 32.,
33., 34., 35., 36., 37., 38., 39., 40., 41., 42., 43.,
44., 45., 46., 47., 48., 49., 50., 51., 52., 53., 54.,
55., 56., 57., 58., 59., 60., 61., 62., 63., 64., 65.,
66., 67., 68., 69., 70., 71., 72., 73., 74., 75., 76.,
77., 78., 79., 80., 81., 82., 83., 84., 85., 86., 87.,
88., 89., 90., 91., 92., 93., 94., 95., 96., 97., 98.,
99.])

A = np.array( [[1,1],
[0,1]] )
B = np.array( [[2,0],
[3,4]] )
print(A)
print("---------")
print(B)
print("---------")
#print A*B
print(A.dot(B))
print("---------")
print(np.dot(A, B))
[[1 1]
[0 1]]


[[2 0]
[3 4]]


[[5 4]
[3 4]]


[[5 4]
[3 4]]
*乘号意味着同行同列数值相乘
矩阵乘法则是dot点乘
可用np.dot(A, B)
或者A.dot(B)
A是一个矩阵

np.exp(A)
将A中所有的值作为e的指数,更新
np.sqrt(A)
将矩阵A中所有的值取其正根
np.floor(A)
将矩阵A中的所有值进行向下取整
A.ravel()
将一个矩阵降至一维,(拉平)
A.T
意为矩阵的转置
a.reshape(3, -1)
写-1的意思是让其自动计算
np.hstack((A, B))
水平拼接两个矩阵
np.vstack((A, B))
垂直拼接两个矩阵
np.hsplit(a,3)
水平切割
将整个矩阵平均分为3份(列数一定要为3的倍数,以此类推)
np.hsplit(a, (3,4))
水平切割
在矩阵的第三列和第四列进行切分(结果是3个)
vsplit 以此类推

值得一提的是
A 为ndarray类型时
C = A可以得到
C is A 为True
C 与A完全相同,且共用同一个内存(类似指针)
C = A.view()
C is A 为False
C与A不相同,id不同,但所指向的数组,其值相同且同时更新
C = A.copy()
C is A为False
C与A 不相同,id不同,所指向的数组也完全不同
A.argmax(axis=0)
找到A这个矩阵上,按列索引,每一列中最大数值的一行
axis=1
是每一行中,最大数所在的列号
B =np.tile(A,(2,3))
使B 拓展2,3倍

A.sort(axis = 1)
按行排序
a = np.array([4, 3, 1, 2])
j = np.argsort(a)
[2 3 1 0]
[1 2 3 4]
从小到大 按照行下标进行排序

发布了1162 篇原创文章 · 获赞 827 · 访问量 779万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览