快学numpy04
来源:互联网 发布:javascript dom和框架 编辑:程序博客网 时间:2024/06/06 01:34
博客地址:http://www.fanlegefan.com
文章地址:http://www.fanlegefan.com/archives/quicknumpy04/
ravel扁平化
import numpy as npa = np.arange(6).reshape(2,3)print aprint "数组扁平化,拉平数组:",a.ravel() [[0 1 2] [3 4 5]]数组扁平化,拉平数组: [0 1 2 3 4 5]
concatenate叠加数组
a = np.arange(6).reshape(2,3)b = np.arange(12).reshape(4,3)print aprint bprint "行方向叠加数组:",np.concatenate([a,b],axis=0)print "----------------------------------------------------------------------------------"b = np.random.randn(6).reshape(2,3)print "列方向叠加数组:",np.concatenate([a,b],axis=1)[[0 1 2] [3 4 5]][[ 0 1 2] [ 3 4 5] [ 6 7 8] [ 9 10 11]]行方向叠加数组: [[ 0 1 2] [ 3 4 5] [ 0 1 2] [ 3 4 5] [ 6 7 8] [ 9 10 11]]----------------------------------------------------------------------------------列方向叠加数组: [[ 0. 1. 2. -0.66205508 0.09851286 0.67491481] [ 3. 4. 5. -1.07413188 1.47991876 -0.25678795]]In [ ]:
堆叠辅助,r_用于按行堆叠,c_用于按列堆叠
arr = np.arange(6)arr1 = arr.reshape((3, 2))arr2 = np.random.randn(3, 2)print(arr1)print(arr2)[[0 1] [2 3] [4 5]][[-0.60392123 -0.1769936 ] [ 0.46523138 0.71963034] [-0.51733042 1.50108329]]print(np.r_[arr1, arr2])print()[[ 0. 1. ] [ 2. 3. ] [ 4. 5. ] [-0.60392123 -0.1769936 ] [ 0.46523138 0.71963034] [-0.51733042 1.50108329]]print(np.c_[np.r_[arr1, arr2], arr])print()[[ 0. 1. 0. ] [ 2. 3. 1. ] [ 4. 5. 2. ] [-0.60392123 -0.1769936 3. ] [ 0.46523138 0.71963034 4. ] [-0.51733042 1.50108329 5. ]]
split分割数组
a = np.arange(30).reshape(5,6)print aprint "----------------------------------------------------------------------------------"first,second,third = np.split(a,[1,3],axis=0)print "按行切分数组"print firstprint "----------------------------------------------------------------------------------"print secondprint "----------------------------------------------------------------------------------"print thirdprint "----------------------------------------------------------------------------------"first,second,third = np.split(a,[1,3],axis=1)print "按列切分数组"print firstprint "----------------------------------------------------------------------------------"print secondprint "----------------------------------------------------------------------------------"print thirdprint "----------------------------------------------------------------------------------"[[ 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]]----------------------------------------------------------------------------------按行切分数组[[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]]----------------------------------------------------------------------------------按列切分数组[[ 0] [ 6] [12] [18] [24]]----------------------------------------------------------------------------------[[ 1 2] [ 7 8] [13 14] [19 20] [25 26]]----------------------------------------------------------------------------------[[ 3 4 5] [ 9 10 11] [15 16 17] [21 22 23] [27 28 29]]----------------------------------------------------------------------------------
repeat重复数组
a = np.arange(3)print a.repeat(3)print "指定元素index进行repeat:",a.repeat([2,3,2])a = np.arange(6).reshape(3,2)print "按行repeat:",a.repeat(2,axis=0)print "按列repeat:",a.repeat(2,axis=1)[0 0 0 1 1 1 2 2 2]指定元素index进行repeat: [0 0 1 1 1 2 2]按行repeat: [[0 1] [0 1] [2 3] [2 3] [4 5] [4 5]]按列repeat: [[0 0 1 1] [2 2 3 3] [4 4 5 5]]
tile整行整列的复制,俗称贴瓷砖
a = np.arange(4).reshape(2,2)print np.tile(a,2)print "----------------------------------------------------------------------------------"print np.tile(a,(2,3))[[0 1 0 1] [2 3 2 3]]----------------------------------------------------------------------------------[[0 1 0 1 0 1] [2 3 2 3 2 3] [0 1 0 1 0 1] [2 3 2 3 2 3]]
读写文件
user = np.loadtxt('user.csv', delimiter=',')print "读入文件:",userprint "写入文件random"a = np.random.randn(30).reshape(5,6)np.save('random',a)a = np.load("random.npy")print "加载文件random:",aa = np.arange(20).reshape(4,5)b = np.arange(6).reshape(2,3)c = np.arange(10).reshape(2,5)print "写入多个文件"np.savez("array_archive.npz",a1 = a,a2 = b,a3 = c)print "加载多个文件"arrs = np.load("array_archive.npz")print "提取文件a:",arrs['a1']读入文件: [[ 1. 20. 2.] [ 2. 30. 1.] [ 3. 18. 2.] [ 4. 20. 2.]]写入文件random加载文件random: [[ 0.48373067 -1.44908936 -0.30609751 -1.52343586 -1.62371042 1.06945452] [-0.37706947 0.61874081 -1.15545717 0.68789212 0.4541404 1.06083362] [ 0.42925037 1.06139537 -0.18608025 -0.06819906 0.17113157 1.70382921] [-1.11490434 0.46147142 -1.35576498 -1.88094052 -0.17532947 -1.00355936] [ 0.65560788 -1.15335741 -0.19709539 -0.67795612 -0.1313468 0.93618876]]写入多个文件加载多个文件提取文件a: [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14] [15 16 17 18 19]]In [ ]:
阅读全文
0 0
- 快学numpy04
- 快学Scala
- 快学Hibernate
- 《快学scala》代码
- 快学scala笔记.
- 快学Big Data
- 快学Scala-基础
- 快学BigData目录
- 《快学Scala》勘误
- 快学numpy01
- 快学numpy02
- 快学numpy03
- java学的快忘得快
- 快学scala(1 - 5)
- 快学Scala--第一章习题
- 快学scala:笔记1
- 快学scala:笔记2
- 快学scala:笔记3
- js 交换两个元素的位置,动画效果
- 页面内滚动条样式修改
- Java transient关键字
- React Native starter project bundling fails with Unexpected Token error
- Longest Consecutive Sequence
- 快学numpy04
- 优先级翻转与优先级继承
- 欧拉函数
- 倒序删除子物体
- NYOJ214单调递增子序列(二)
- WebRTC之框架与接口(二)
- 如何成为一个顶级的Java工程师(修改自成神之路)
- myeclipse格式化代码设置
- Java基础——request.getAttribute() 和 request.getParameter() 有何区别