Numpy入门笔记第一天
# 导入包
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入门笔记第一天的更多相关文章
- 面向矩阵的numpy入门笔记
我先声明我学numpy的目的:在python中使用矩阵(我需要在机器学习中使用矩阵),所以我的目的很明确,矩阵: 矩阵在numpy中叫ndarray(The N-dimensional array), ...
- Numpy入门笔记第三天
__TITLE__ = "利用Numpy进行历史股价分析" __DATASOURCE__ = "ATAGURU" # CSV文件读取 import numpy ...
- 读阮一峰老师 es6 入门笔记 —— 第一章
鉴于最近用 vuejs 框架开发项目,其中有很多涉及到 es6 语法不太理解所以便认真地读了一下这本书. 地址:http://es6.ruanyifeng.com/#README 第一章:let ,c ...
- 【js 笔记】读阮一峰老师 es6 入门笔记 —— 第一章
鉴于最近用 vuejs 框架开发项目,其中有很多涉及到 es6 语法不太理解所以便认真地读了一下这本书. 地址:http://es6.ruanyifeng.com/#README 第一章:let ...
- Numpy入门笔记第二天
# 数组的组合 import numpy as np arr1 = np.arange(5) arr2 = np.arange(3) print arr1 print arr2 [0 1 2 3 4] ...
- python入门笔记第一天
查询acsii命令 ord(‘A’) 导入模块python执行系统命令显示文件.查找文件方法1import osa = os.popen('目标').read()a 解释output = os.pop ...
- Elasticsearch7.X 入门学习第一课笔记----基本概念
原文:Elasticsearch7.X 入门学习第一课笔记----基本概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https: ...
- DX9入门笔记1-D3D初始化
对3D编程期待已久,却一直叶公好龙浅尝辄止.近期在公司实习却无具体的工作安排,琢磨着学习个新的手艺,就又想起了3D Programming.这次从大名鼎鼎的龙书(Introduction to 3D ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
随机推荐
- ASP.NET Core MVC中的IActionFilter.OnActionExecuted方法执行时,Controller中Action返回的对象是否已经输出到Http Response中
我们在ASP.NET Core MVC项目中有如下HomeController: using Microsoft.AspNetCore.Mvc; namespace AspNetCoreActionF ...
- 记2019年目标之一没有996的大数据分析BI实战历程
本文略长,阅读大约需要10分钟. 懵懵懂懂的学习了python,然后一发不可收拾的爱上了python大数据分析,慢慢的走进了大数据的学堂,学习如何大数据挖掘,大数据分析,到BI系统建设使用. 大数据的 ...
- MVC与MVVM之间在IOS中的区别
作为一个iOS开发者,我不止一次听到我的一些开发者朋友跟我说我写的iOS代码看起来好舒服,很整洁,为什么咱们iOS开发的相当一大部分应用软件都给人以美的享受,究竟是什么使得iOS上的应用可以如此漂亮? ...
- GPUImage源码解读之GLProgram
简述 GLProgram是GPUImage中代表openGL ES 中的program,具有glprogram功能.其实是作者对OpenGL ES program的面向对象封装 初始化 - (id)i ...
- NodeJ node.js基础
因为是Node服务器端的,怎样实现前台和后台请求以及回应 URL(由什么组成的 ),传输的内容:表单数据 文件数据 [图片.压缩包.各种后缀文件] URL的组成 URL由三部分组成: 协议类型 , ...
- C++ primer第三章作业
3.1节 练习3.1: 使用恰当的using声明重做1.4.1节(第11页)和2.6.2节(第67页)的练习 #ifdef 1 #include <iostream> using std: ...
- Combotreegrid中其它值获取
<input type="text" name="superior" data-toggle="topjui-combotreegrid&quo ...
- MySQL——安装
1. 下载源: http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql80-community-release-el7-2.no ...
- Linux查看当前登录用户并踢出用户
1.查看当前登录用户 [wilsh@lcl ~]$ whatis w w (1) - Show who is logged on and what they a ...
- Leetcode---栈系列刷题(python3实现)----#496 下一个更大元素I
给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集.找到 nums1 中每个元素在 nums2 中的下一个比其大的值. nums1 中数字 x 的下一个更 ...