# 导入包
import numpy as np
# 创建一维数组
a = np.arange(5)
print "一维numpy数组", a
print "数组的类型", a.dtype
print "数组维度", len(a.shape)
一维numpy数组 [0 1 2 3 4]
数组的类型 int32
数组维度 1
# 创建多维数组
b = np.array([np.arange(2), np.arange(2)])
print "二维numpy数组"
print b
print "数组维度", len(b.shape)
二维numpy数组
[[0 1]
 [0 1]]
数组维度 2
c = np.array([[13, 13], [3434, 5]])
print c
[[  13   13]
 [3434    5]]
# 创建零矩阵
Z = np.zeros((2, 3))
print Z
[[0. 0. 0.]
 [0. 0. 0.]]
# 矩阵元素索引
print c[1, 1] # 第2行第2列元素
5
# 创建特定类型矩阵
d = np.arange(5, dtype=np.uint16)
print d
[0 1 2 3 4]
e = np.arange(7, dtype='f')
print e
[0. 1. 2. 3. 4. 5. 6.]
# 矩阵运算
# 加法
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
print arr1
print arr2
print arr1 + arr2
[[1 2]
 [3 4]]
[[5 6]
 [7 8]]
[[ 6  8]
 [10 12]]
# 矩阵对应相乘
print arr1 * arr2
[[ 5 12]
 [21 32]]
# 标量运算
print arr1 + 1
print arr1 * 2
[[2 3]
 [4 5]]
[[2 4]
 [6 8]]
# 索引与切片
arr3 = np.array([np.arange(5), np.arange(5), np.arange(5)])
arr4 = np.arange(7)
print arr3
print arr4
[[0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]]
[0 1 2 3 4 5 6]
# 一维数组索引
print arr4[5]
# 一维数组切片
print arr4[3:5]
# 数组翻转
print arr4[::-1]
5
[3 4]
[6 5 4 3 2 1 0]
# 多维数组索引
print "第三行第四列", arr3[2,3]
print "第三行", arr3[2]
第三行第四列 3
第三行 [0 1 2 3 4]
# 多维数组切片
print "第二行第三到五个数", arr3[2, 2:5]
print "第二列第一到二个数", arr3[0:2, 1]
print "取第二列", arr3[:, 1]
print "取第二行翻转", arr3[1, ::-1]
第二行第三到五个数 [2 3 4]
第二列第一到二个数 [1 1]
取第二列 [1 1 1]
取第二行翻转 [4 3 2 1 0]
# 布尔切片
index = np.array(['one', 'two', 'three'])
print index == 'one'
print '用索引选取第二行',arr3[index == 'two']
[ True False False]
用索引选取第二行 [[0 1 2 3 4]]
# 切片赋值
arr5 = np.array([np.arange(5), np.arange(5), np.arange(5)])
print arr5
[[0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]]
arr5[arr5 < 2] = 2
print arr5
[[2 2 2 3 4]
 [2 2 2 3 4]
 [2 2 2 3 4]]
# 花式索引
print arr3
print "0,1行:"
print arr3[[0, 1]]
print "(0,0),(2,1)元素:"
print arr3[[0, 2], [0, 1]]
[[0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]]
0,1行:
[[0 1 2 3 4]
 [0 1 2 3 4]]
(0,0),(2,1)元素:
[0 1]
# 矩阵转置
print arr3.T
[[0 0 0]
 [1 1 1]
 [2 2 2]
 [3 3 3]
 [4 4 4]]
# 矩阵变形
arr6 = np.arange(18)
print arr6
print arr6.reshape(2, 3, 3)
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17]
[[[ 0  1  2]
  [ 3  4  5]
  [ 6  7  8]]

 [[ 9 10 11]
  [12 13 14]
  [15 16 17]]]

Numpy入门笔记第一天的更多相关文章

  1. 面向矩阵的numpy入门笔记

    我先声明我学numpy的目的:在python中使用矩阵(我需要在机器学习中使用矩阵),所以我的目的很明确,矩阵: 矩阵在numpy中叫ndarray(The N-dimensional array), ...

  2. Numpy入门笔记第三天

    __TITLE__ = "利用Numpy进行历史股价分析" __DATASOURCE__ = "ATAGURU" # CSV文件读取 import numpy ...

  3. 读阮一峰老师 es6 入门笔记 —— 第一章

    鉴于最近用 vuejs 框架开发项目,其中有很多涉及到 es6 语法不太理解所以便认真地读了一下这本书. 地址:http://es6.ruanyifeng.com/#README 第一章:let ,c ...

  4. 【js 笔记】读阮一峰老师 es6 入门笔记 —— 第一章

      鉴于最近用 vuejs 框架开发项目,其中有很多涉及到 es6 语法不太理解所以便认真地读了一下这本书. 地址:http://es6.ruanyifeng.com/#README 第一章:let ...

  5. Numpy入门笔记第二天

    # 数组的组合 import numpy as np arr1 = np.arange(5) arr2 = np.arange(3) print arr1 print arr2 [0 1 2 3 4] ...

  6. python入门笔记第一天

    查询acsii命令 ord(‘A’) 导入模块python执行系统命令显示文件.查找文件方法1import osa = os.popen('目标').read()a 解释output = os.pop ...

  7. Elasticsearch7.X 入门学习第一课笔记----基本概念

    原文:Elasticsearch7.X 入门学习第一课笔记----基本概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https: ...

  8. DX9入门笔记1-D3D初始化

    对3D编程期待已久,却一直叶公好龙浅尝辄止.近期在公司实习却无具体的工作安排,琢磨着学习个新的手艺,就又想起了3D Programming.这次从大名鼎鼎的龙书(Introduction to 3D ...

  9. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

随机推荐

  1. 国产开源JavaWeb应用程序框架——XWAF(1)

    XWAF是一个基于java反射和Servlet 技术的国产开源Web应用程序框架.其英文全称为“eXtensible Web Application Framework”,意即“可扩展的网络应用程序框 ...

  2. oracle数据库——常用的数据类型

    2018-12-19    23:08:03 oracle数据库中常用的数据类型有23种,我们把数据类型分为字符型.数字型.日期型和其他数据类型. 一.字符型: 数据类型 取值范围 (字节) 说明 v ...

  3. ios 开发UI篇— UIToolbar

    前言 NS_CLASS_AVAILABLE_IOS(2_0) __TVOS_PROHIBITED @interface UIToolbar : UIView <UIBarPositioning& ...

  4. JS如何截取-后面的字符串

    str为要截取的字符串  通过获取字符串中“-”的坐标index,其他特殊字符以此类推 var index=str.lastIndexOf("\-"); str=str.subst ...

  5. canvas制作的烟花效果

    最近感觉canvas挺有意思的,在业余时间没事研究了一下,参考过网上一些思路,话不多说,开始啦. github地址:https://github.com/aWhiteBear/fireworks 演示 ...

  6. iOS背景音乐不自动播放

    iOS 内置浏览器safari不允许自动播放音乐.我们需要通过WeixinJSBridgeReady()函数实现自动触发 document.addEventListener("WeixinJ ...

  7. The Bitizens Team

    bitizens.bitguild.com 首个区块链3D艺术品. https://mybitizens.bitguild.com/#/igo https://www.youtube.com/watc ...

  8. Bootstrap源码解读之栅格化篇

    本文纯属自己研究所写笔记,如果有错误还请多多指教提出 版心(container) 版心:class名为.container的容器,其版心的宽度在各个屏幕设备下是不一样的值,版心两边就是留白. 各尺寸下 ...

  9. 课时14.DTD文档声明上(掌握)

    1.什么是DTD文档声明? 由于HTML有很多格版本的规范,每个版本的规范之间又又一些差异,所以为了让浏览器能够正确的编译/解析/渲染我们的网页,我们需要在HTML文件的第一行告诉浏览器,我们当前这个 ...

  10. colemak,你用了吗?

    为了输入代码的感觉更好,我学习了colemak键盘布局,这个布局它是在QWERTY的基础上改了10多个键. 开始的三天,感觉非常不好,每按一个键都要思考很长时间,干脆在网上找了个在线打字的网页去练,感 ...