绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
numpy基础语法学习笔记
2019-12-09 19:35:10

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]

从小到大 按照行下标进行排序

————————————————

版权声明:本文为CSDN博主「DrogoZhang」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_40400177/article/details/103414961

分享好友

分享这个小栈给你的朋友们,一起进步吧。

猿,妙不可言
创建时间:2019-07-05 22:23:45
分享python,及前端一些开发心得、教程。 希望能和各位大佬交朋友~
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 马国栋
    栈主

小栈成员

查看更多
  • ?
  • 栈栈
  • gamebus
  • 呵呵哒
戳我,来吐槽~