Python中的数组ndarray是什么?

1、NumPy中基本的数据结构

2、所有元素是同一种类型

3、别名是array

4、利于节省内存和提高CPU计算时间

5、有丰富的函数

ndarray的创建:

import numpy as np
>>> aArray=np.array([1,2,3])
>>> aArray
array([1, 2, 3])
>>> bArray=np.array([(1,2,3),(4,5,6)])
>>> bArray
array([[1, 2, 3],
[4, 5, 6]])
>>> np.arange(1,5,0.5)
array([1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])
>>> np.random.random((2,2))
array([[0.15637741, 0.23650666],
[0.37523649, 0.4608882 ]])
>>> np.linspace(1,2,10,endpoint=False)
array([1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9])

  

np.ones([2,3])
array([[1., 1., 1.],
[1., 1., 1.]])
>>> np.zeros((2,2))
array([[0., 0.],
[0., 0.]])
>>> np.fromfunction(lambda i,j:(i+1)*(j+1),(9,9))
array([[ 1., 2., 3., 4., 5., 6., 7., 8., 9.],
[ 2., 4., 6., 8., 10., 12., 14., 16., 18.],
[ 3., 6., 9., 12., 15., 18., 21., 24., 27.],
[ 4., 8., 12., 16., 20., 24., 28., 32., 36.],
[ 5., 10., 15., 20., 25., 30., 35., 40., 45.],
[ 6., 12., 18., 24., 30., 36., 42., 48., 54.],
[ 7., 14., 21., 28., 35., 42., 49., 56., 63.],
[ 8., 16., 24., 32., 40., 48., 56., 64., 72.],
[ 9., 18., 27., 36., 45., 54., 63., 72., 81.]])

  

import numpy as np
>>> x = np.array([(1,2,3),(4,5,6)])
>>> x
array([[1, 2, 3],
[4, 5, 6]])
>>> x.ndim
2
>>> x.shape
(2, 3)
>>> x.size
6

  

import numpy as np
>>> aArray=np.array([(1,2,3),(4,5,6)])
>>> print(aArray[1])
[4 5 6]
>>> print(aArray[0])
[1 2 3]
>>> print(aArray[0:2])
[[1 2 3]
[4 5 6]]
>>> print(aArray[:,[0,1]])
[[1 2]
[4 5]]
>>> print(aArray[1,[0,1]])
[4 5]
>>> for row in aArray:
print(row) [1 2 3]
[4 5 6]

  ndarray的操作:

import numpy as np
>>> aArray=np.array([(1,2,3),(4,5,6)])
>>> aArray.shape
(2, 3)
>>> bArray=aArray.reshape(3,2)
>>> bArray
array([[1, 2],
[3, 4],
[5, 6]])
>>> aArray
array([[1, 2, 3],
[4, 5, 6]])

  

import numpy as np
>>> aArray=np.array([(1,2,3),(4,5,6)])
>>> aArray.resize(3,2)
>>> aArray
array([[1, 2],
[3, 4],
[5, 6]])
>>> bArray=np.array([1,3,7])
>>> cArray=np.array([3,5,8])
>>> np.vstack((bArray,cArray))
array([[1, 3, 7],
[3, 5, 8]])
>>> np.hstack((bArray,cArray))
array([1, 3, 7, 3, 5, 8])

  ndarray的运算:

import numpy as np
>>> aArray=np.array([(5,5,5),(5,5,5)])
>>> bArray=np.array([(2,2,2),(2,2,2)])
>>> cArray=aArray*bArray
>>> cArray
array([[10, 10, 10],
[10, 10, 10]])
>>> aArray+=bArray
>>> aArray
array([[7, 7, 7],
[7, 7, 7]])

  广播的思想:

a=np.array([1,2,3])
>>> b=np.array([[1,2,3],[4,5,6]])
>>> a+b
array([[2, 4, 6],
[5, 7, 9]])

  统计运算:

import numpy as np
>>> aArray=np.array([(1,2,3),(4,5,6)])
>>> aArray.sum()
21
>>> aArray.sum(axis=0)
array([5, 7, 9])
>>> aArray.sum(axis=1)
array([ 6, 15])
>>> aArray.min()
1
>>> aArray.argmax()
5
>>> aArray.mean()
3.5
>>> aArray.var()
2.9166666666666665
>>> aArray.std()
1.707825127659933

  ndarray的专门应用--线性代数:

>>> import numpy as np
>>> x=np.array([[1,2],[3,4]])
>>> r1=np.linalg.det(x)
>>> print(r1)
-2.0000000000000004
>>> r1
-2.0000000000000004
>>> r2=np.linalg.inv(x)
>>> r2
array([[-2. , 1. ],
[ 1.5, -0.5]])
>>> print(r2)
[[-2. 1. ]
[ 1.5 -0.5]]
>>> r3=np.dot(x,x)
>>> r3
array([[ 7, 10],
[15, 22]])
>>> print(r3)
[[ 7 10]
[15 22]]

  

python开发笔记-ndarray方法属性详解的更多相关文章

  1. Android笔记-2-TextView的属性详解

    [Android 基础]TextView的属性详解 android:autoLink :设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web / ...

  2. asp.net中C#对象与方法 属性详解

    C#对象与方法 一.相关概念: 1.对象:现实世界中的实体 2. 类:具有相似属性和方法的对象的集合 3.面向对象程序设计的特点:封装  继承 多态 二.类的定义与语法 1.定义类: 修饰符 类名称 ...

  3. python中的sort方法使用详解

    Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明: 一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不 ...

  4. UIScrollView方法 属性详解

    --前言:UIScrollView使用非常广,本文研究UIScrollView各属性和方法,明白它们的意义.作用.在后面的一篇文章有整理UIScrollView一些常见用法以及一些效果的实现思路. - ...

  5. window.location的方法属性详解

    示例URL:http://b.a.com:88/index.php?name=kang&when=2011#first 属性 含义 值 protocol: 协议 "http:&quo ...

  6. PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等

    页面导航: 首页 → 网络编程 → PHP编程 → php技巧 → 正文内容 PHP安全 PHP开发中常见的安全问题详解和解决方法(如Sql注入.CSRF.Xss.CC等) 作者: 字体:[增加 减小 ...

  7. jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解

    jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解 jQuery中操纵元素属性的方法: attr(): 读或者写匹配元素的属性值. removeAttr(): 从匹配的 ...

  8. Android开发–Intent-filter属性详解

    Android开发–Intent-filter属性详解 2011年05月09日 ⁄ Andriod ⁄ 暂无评论 ⁄ 被围观 1,396 views+ 如果一个 Intent 请求在一片数据上执行一个 ...

  9. C#类、对象、方法和属性详解

    C#类.对象.方法和属性详解 一.相关概念: 1.对象:现实世界中的实体(世间万物皆对象) 2.类:具有相似属性和方法的对象的集合 3.面向对象程序设计的特点:封装 继承 多态 4.对象的三要素:属性 ...

随机推荐

  1. 【miscellaneous】【C/C++语言】UTF8与GBK字符编码之间的相互转换

    UTF8与GBK字符编码之间的相互转换 C++ UTF8编码转换 CChineseCode 一 预备知识 1,字符:字符是抽象的最小文本单位.它没有固定的形状(可能是一个字形),而且没有值." ...

  2. FastReport For Delphi7 通用安装方法

    安装前请册除原有的FR控件. 1. "Tools|Environmet options..."中的"Library"标签面下"Library path ...

  3. 第二周、ubuntu的简单介绍与使用

    一.复习第一周的大致内容:1.UNIX与Linux.ubuntu系统UNIX是1971年贝尔实验室的肯·汤普逊.丹尼斯·里奇,合作研发一款通过的操作系统,多用户.多任务.安全.稳定,收费.Linux是 ...

  4. 第3课,python使用for循环

    前言: 学习了python的while循环后感觉循环是挺强大的.下面学习一个更智能,更强大的循环-- for循环. 课程内容: 1.由while循环,到for循环,格式和注意项 2.for循环来报数 ...

  5. 九校联考-DL24凉心模拟Day2总结

    T1 锻造 forging 题目描述 "欢迎啊,老朋友." 一阵寒暄过后,厂长带他们参观了厂子四周,并给他们讲锻造的流程. "我们这里的武器分成若干的等级,等级越高武器就 ...

  6. 华为云实战开发】5.如何快速创建免费Git代码仓库【华为云技术分享】

    1 文章目的 本文主要帮助已经掌握或者想要掌握Git的开发者,如何更好的应用Git,以及更好的将Git与DevCloud结合应用. 2 概述 2.1 版本控制系统介绍 从狭义上来说,版本控制系统是软件 ...

  7. Java jms学习

    /** * <html> * <body> * <P> https://github.com/Jasonandy </p> * <p> Al ...

  8. Ambari深入学习(III)-开源使用及其改进思考

    Ambari采用的不是一个新的思想和架构,也不是完成了软件的新的革命,而是充分利用了一些已有的优秀开源软件,巧妙地把它们结合起来,使其在分布式环境中做到了集群式服务管理能力.监控能力.展示能力.这些优 ...

  9. 利用HashMap计算一个字符串中每个字符出现的次数

    问题描述:计算一个字符串中每个字符出现的次数 问题分析:每个字符串对应着它的次数,且字符串唯一不重复,这让我们想到了HashMap中的键值对. 1.使用Scanner获取字符串 2.遍历字符串,获取每 ...

  10. Java8stream表达式

    // 输出:hello System.out.println(Optional.ofNullable(hello).orElse("hei")); // 输出:hei System ...