import numpy as np

a = np.array([[1,2,3],[4,3,2],[6,3,5]])
print(a) [[1 2 3]
[4 3 2]
[6 3 5]] print(a.ndim) # array的维度 2 print(a.dtype) # array元素的数据类型 int32 print(a.shape) # array每个维度的大小 (3, 3) print(a.T) # array的转置 [[1 4 6]
[2 3 3]
[3 2 5]] print(a.real) # array每个元素的实部 [[1 2 3]
[4 3 2]
[6 3 5]] print(a.imag) # array每个元素的虚部 [[0 0 0]
[0 0 0]
[0 0 0]] print(a.flat[1],a.flat[2:5]) # 将array变成一维的基础上对其进行索引 print(a) a.flat[[1,4]]=8 # 将array对应位置的值进行改变 print(a) 2 [3 4 3]
[[1 2 3]
[4 3 2]
[6 3 5]]
[[1 8 3]
[4 8 2]
[6 3 5]] b = a.tolist() # 将array变成python列表并返回 print(b) [[1, 8, 3], [4, 8, 2], [6, 3, 5]] c = a.copy() # 拷贝array并返回,对得到array进行改变不会影响原来的array c[1,1] = 100 print("c:",c) print("a:",a) print(id(c),id(a)) c: [[ 1 8 3]
[ 4 100 2]
[ 6 3 5]]
a: [[1 8 3]
[4 8 2]
[6 3 5]]
1319291177280 1319291122112 d = a.view() # 将array的数据进行另外一个可视化,两者id不同,但进行修改时会影响 print(id(d),id(a)) d[1,1] = 200 print("d:",d) print("a:",a) a[1,1] = 150 print("d:",d) print("a:",a) 1319291176960 1319291122112
d: [[ 1 8 3]
[ 4 200 2]
[ 6 3 5]]
a: [[ 1 8 3]
[ 4 200 2]
[ 6 3 5]]
d: [[ 1 8 3]
[ 4 150 2]
[ 6 3 5]]
a: [[ 1 8 3]
[ 4 150 2]
[ 6 3 5]] a.fill(5) # 以指定的值填充array print(a) [[5 5 5]
[5 5 5]
[5 5 5]] a = np.array([[1,3,5],[2,6,3],[9,6,4],[10,2,8]]) b = a.reshape((2,3,2)) # 在原数据的基础上改变维度,返回一个新array,不改变原来的array print(a) print(b) [[ 1 3 5]
[ 2 6 3]
[ 9 6 4]
[10 2 8]]
[[[ 1 3]
[ 5 2]
[ 6 3]] [[ 9 6]
[ 4 10]
[ 2 8]]] c = b.transpose() # 返回一个转置后的array,可以指定维度顺序,不改变原来的array print(c,"\n================") d = b.transpose(0,2,1) print(d) [[[ 1 9]
[ 5 4]
[ 6 2]] [[ 3 6]
[ 2 10]
[ 3 8]]]
================
[[[ 1 5 6]
[ 3 2 3]] [[ 9 4 2]
[ 6 10 8]]] print(b) e = b.flatten() # 把array变成一维的 print(e) f = b.ravel() print(f) [[[ 1 3]
[ 5 2]
[ 6 3]] [[ 9 6]
[ 4 10]
[ 2 8]]]
[ 1 3 5 2 6 3 9 6 4 10 2 8]
[ 1 3 5 2 6 3 9 6 4 10 2 8] g = b.take([0,6]) # 通过索引获取array中的元素并返回新的array,可以通过axis参数指定维度 h = b.take([0,2],axis=1) i = b.take(1,axis=0) print(g,"\n===================") print(h,"\n===================") print(i) [1 9]
===================
[[[1 3]
[6 3]] [[9 6]
[2 8]]]
===================
[[ 9 6]
[ 4 10]
[ 2 8]] b = np.array([[[ 1,3], [ 5 ,2], [ 6 ,3]], ​ [[ 9 ,6], [ 4 ,10], [ 2 ,8]]]) print(b,"\n============================") b.sort(axis=0) print(b,"\n============================") b.sort(axis=1) print(b,"\n============================") b = np.array([[[ 1,3], [ 5 ,2], [ 6 ,3]], ​ [[ 9 ,6], [ 4 ,10], [ 2 ,8]]]) b.sort() print(b) """ sort进行排序时,可以通过axis指定维度,默认为最后一维,正序 当指定axis=0时,在第一个维度上排序,本例中该维度上有2个部分。 排序时,把两部分当做两个独立的array比较大小(元素位置一一对应), 顺序不符合要求的进行交换。当axis=1时,在第二个维度上排序, 此时不考虑外部第一个维度中两个部分的顺序,只分别对第二个维度上 三个小array进行同样的排序 """ print(b.max(axis=-1)) # 返回最大值,最小值,不指定axis时,在所有元素中进行比较 print(b.max()) print(b.min()) [[ 3 5 6]
[ 9 10 8]]
10
1 print(b.argmax(axis=1)) # 返回最大值,最小值的索引,不指定axis时,在所有元素中进行比较 print(b.argmin()) [[2 2]
[0 1]]
0 print(b.ptp()) # 返回最大值,最小值的差值,不指定axis时,在所有元素中进行比较 print(b.ptp(axis=1)) 9
[[2 3]
[4 2]] c = b.clip([2,7]) # 将array中所有元素限制在指定的大小范围,超出范围的用指定的边界值代替 print(c) [[[ 2 7]
[ 2 7]
[ 3 7]] [[ 6 9]
[ 4 10]
[ 2 8]]] a = np.arange(9).reshape(3,3) #求array对角线上元素的和 print(a.trace()) b = np.arange(8).reshape(2,4) print(b.trace()) 12
5 a = np.floor(10*np.random.random((2,3,4))) print(a) print(a.sum()) # 求和 print(a.sum(axis=1)) [[[0. 0. 1. 8.]
[0. 3. 0. 2.]
[5. 3. 9. 8.]] [[9. 0. 1. 5.]
[7. 6. 9. 6.]
[7. 5. 6. 7.]]]
107.0
[[ 5. 6. 10. 18.]
[23. 11. 16. 18.]] a = np.floor(10*np.random.random((2,3))) print(a) print(a.cumsum()) # 求累加和 print(a.cumsum(axis=1)) [[7. 3. 1.]
[6. 8. 8.]]
[ 7. 10. 11. 17. 25. 33.]
[[ 7. 10. 11.]
[ 6. 14. 22.]] a = np.floor(10*np.random.random((2,3))) print(a) print(a.mean()) # 求均值 print(a.mean(axis=1)) [[6. 6. 1.]
[9. 8. 5.]]
5.833333333333333
[4.33333333 7.33333333] a = np.floor(10*np.random.random((2,3))) print(a) print(a.var()) # 求方差 print(a.var(axis=1)) [[7. 0. 0.]
[2. 0. 4.]]
6.805555555555557
[10.88888889 2.66666667] a = np.floor(10*np.random.random((2,3))) print(a) print(a.std()) # 求标准差 print(a.std(axis=0)) [[9. 1. 1.]
[6. 4. 1.]]
3.0368111930481
[1.5 1.5 0. ] a = np.floor(10*np.random.random((2,3))) print(a) print(a.prod()) # 求积 print(a.prod(axis=0)) [[5. 7. 4.]
[8. 9. 8.]]
80640.0
[40. 63. 32.] a = np.floor(10*np.random.random((2,3))) print(a) print(a.cumprod()) # 求累积 print(a.cumprod(axis=1)) [[1. 1. 8.]
[9. 6. 6.]]
[1.000e+00 1.000e+00 8.000e+00 7.200e+01 4.320e+02 2.592e+03]
[[ 1. 1. 8.]
[ 9. 54. 324.]] a = np.array([[1,0,2],[-1,3,5]]) print(a.all()) # 所有元素都为True,返回True,否则返回Flase a = np.array([[1,2,2],[-1,3,5]]) print(a.all()) False
True

numpy.ndarray常用属性和方法的更多相关文章

  1. Node.js process 模块常用属性和方法

    Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...

  2. ios基础篇(四)——UILabel的常用属性及方法

    UILabel的常用属性及方法:1.text //设置和读取文本内容,默认为nil label.text = @”文本信息”; //设置内容 NSLog(@”%@”, label.text); //读 ...

  3. UITableView常用属性和方法 - 永不退缩的小白菜

    UITableView常用属性和方法 - 永不退缩的小白菜 时间 2014-05-27 01:21:00  博客园精华区原文  http://www.cnblogs.com/zhaofucheng11 ...

  4. UIView的一些常用属性和方法

    UIView的一些常用属性和方法 1. UIView的属性 UIView继承自UIResponder,拥有touches方法. - (instancetype)initWithFrame:(CGRec ...

  5. SVG DOM常用属性和方法介绍(1)

    12.2  SVG DOM常用属性和方法介绍 将以Adobe SVG Viewer提供的属性和方法为准,因为不同解析器对JavaScript以及相关的属性和方法支持的程度不同,有些方法和属性是某个解析 ...

  6. 第190天:js---String常用属性和方法(最全)

    String常用属性和方法 一.string对象构造函数 /*string对象构造函数*/ console.log('字符串即对象');//字符串即对象 //传统方式 - 背后会自动将其转换成对象 / ...

  7. UIView常用属性与方法/UIKit继承结构

    UIView常用属性与方法 @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDy ...

  8. JavaScript中Number常用属性和方法

    title: JavaScript中Number常用属性和方法 toc: false date: 2018-10-13 12:31:42 Number.MAX_VALUE--1.79769313486 ...

  9. 12-27 UITableView常用属性及方法

    UITableView也有自己的代理协议,它本身继承自UIScrollView 一:代理要遵守代理协议<UITableViewDelegate>,代理协议中的代理方法: 1.改变某一行的行 ...

随机推荐

  1. iOS用户是否打开APP通知开关跳转到系统的设置界面

    1.检测用户是否打开推送通知  /** 系统通知是否打开 @return 是否打开 */ //检测通知是否打开iOS8以后有所变化 所以需要适配iOS7 + (BOOL)openThePushNoti ...

  2. 06 HTTP协议缓存控制

    一:HTTP协议缓存控制 第1次请求时 200 ok 第2次请求时 304 Not Modified 未修改状态 解释: 在网络上,有一些缓存服务器,另, 浏览器自身也有缓存功能. 当我们第一次某图片 ...

  3. LookAround开元之旅

    http://blog.csdn.net/lancees/article/details/17696805

  4. iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)

     本文转载至 http://blog.csdn.net/liuwuguigui/article/details/39494597       IOS8UIAlertViewUIActionSheet ...

  5. HDU 4622 Reincarnation 后缀自动机 // BKDRHash(最优hash)

    Reincarnation Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) P ...

  6. HTTP Status 405

    分析原因: 1.doPost()和getPost()两个方法继承了父类,造成出错.

  7. wav音频文件头解析

    wav概述 WAV为微软公司(Microsoft)开发的一种声音文件格式,它符合RIFF(ResourceInterchange File Format)文件规范,用于保存Windows平台的音频信息 ...

  8. /dev/sda2 is mounted; will not make a filesystem here!

    一定要记住,不可以在分区挂载之后再进行格式化!!在错误提示当中可以看出你的分区已经挂载了.先将这个分区卸载了再重新格式化:umount /dev/sda2mkfs.ext2 /dev/sda2这样就没 ...

  9. AutoItLibrary安装和常见问题解决

    http://blog.csdn.net/bible_reader/article/details/52044345

  10. tableView滑动时cell消失

    最近做的工程中,出现个奇怪的问题吗,就是上下滑动tableView的时候,cell还未出屏幕就消失了,找了很久找到了原因,是因为界面中需要的cell有很多种,而有的cell的高度是一开始算出来或是固定 ...