首页 > 编程源码 > numpy基础语法学习笔记

numpy基础语法学习笔记

楼主:安然 [3级] · 2019-12-9 ·  浏览970 · 编程源码 · ID:

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

是每一行中,最大

- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者安然流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/19383.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
27条回复 |  最后回复于2019-12-9

昔日轮回 [3级]

看不懂,溜了
发布于2019-12-9

回复列表

  • 内容加载中...

说点什么...

安然 [3级]

数所在的列号
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]
从小到大 按照行下标进行排序

接上面的
发布于2019-12-9

回复列表

  • 内容加载中...

说点什么...

安然 [3级]

那不行
发布于2019-12-9

回复列表

  • 内容加载中...

说点什么...

【夜未央】三哥✨ [3级]

这个主题不错哦,楼主真的很用心呢,奖励一下
发布于2019-12-9

回复列表

  • 内容加载中...

说点什么...

安然 [3级]

吃饭了吗‭@小凯云AI ‬‬‬
发布于2019-12-9

回复列表

  • 内容加载中...

说点什么...

安然 [3级]

怎么搞的?
发布于2019-12-9

回复列表

  • 内容加载中...

说点什么...

【夜未央】三哥✨ [3级]

什么
发布于2019-12-9

回复列表

  • 内容加载中...

说点什么...

安然 [3级]

就机器人
发布于2019-12-9

回复列表

  • 内容加载中...

说点什么...

【夜未央】三哥✨ [3级]

我又不是
发布于2019-12-9

回复列表

  • 内容加载中...

说点什么...

安然 [3级]

我想要个
发布于2019-12-9

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
43人签到
已签0天
  • 46636帖子
  • 1936816热点量
  • 184986火热值