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. 理解DOMSTRING、DOCUMENT、FORMDATA、BLOB、FILE、ARRAYBUFFER数据类型

    一.XMLHttpRequest 2.0的家臣们 我大学那会儿,一个称为Ajax的东西对前端行业造成了深远影响,不仅是JS语言,而包括前端地位.职位兴起以及工作分工等.抛开IE6浏览器不谈,其他浏览器 ...

  2. asyncio协程与并发

    并发编程 Python的并发实现有三种方法. 多线程 多进程 协程(生成器) 基本概念 串行:同时只能执行单个任务 并行:同时执行多个任务 在Python中,虽然严格说来多线程与协程都是串行的,但其效 ...

  3. 【BZOJ4811】[Ynoi2017]由乃的OJ 树链剖分+线段树

    [BZOJ4811][Ynoi2017]由乃的OJ Description 由乃正在做她的OJ.现在她在处理OJ上的用户排名问题.OJ上注册了n个用户,编号为1-",一开始他们按照编号排名. ...

  4. 用live555做流媒体转发服务器?

    当我们看到这里,说明大家都有这样的一个想法:那就是如何用live555实现一个直播代理转发的流媒体服务器? 我们先不着急去讨论用live555实现流媒体转发的技术方法123,先从live555的整个架 ...

  5. HTML 常用组件

    1.下拉选择 <select id="select" name="select" class="form-control"> & ...

  6. launchMode之的几种取值

    Activity的launchMode launchMode之standard   ·标准模式.每次激活Activity时均在当前任务栈中创建新的实例. 在配置文件里把activity节点的属性配置为 ...

  7. 将本地项目上传到git远程库(初始化)

    准备条件: 首先,有一个远程仓库地址,本文中的地址为“http://git.xxxxxxxx.net.cn/jacun/imagegrap.git”; 第一步:在本地创建初始化仓库: git init ...

  8. 设置VIM查找时不区分大小写

    :set ic 永久生效 vi ~/.vimrc set ic

  9. Protocol_BGP

    BGP协议 作者:Danbo 2015-7-8 BPG最重要的就是属性,下面我们针对路径属性分析一下.

  10. xmlToEntity or entityToXML 工作笔记

    最近工作中调用接口,返回报文是String,取值不方便,需要转换为实体,回来自己简单写了个demo,基本上可以满足工作需求. 除了下面代码外,还要创建对应的实体. package yh.test.t1 ...