Python Numpy 笔记
这次机器学习的作业可以用第三方库了,果断抛弃 MATLAB 改用 Python
但是操作数组的 Numpy 之前一直没用过,今天先看看官方教程入个门
The Basics
Numpy 中主要的对象是同类元素组成的多维数组,可以通过一个正整数的元组进行索引。
在 Numpy 中维度(dimension)
称为轴(axes)
,轴的数量称为秩rank
[[1., 0., 0.], [0., 1., 2.]]
:rank=2
the first dimension has a length of 2, the second dimension has a length of 3
Numpy 的数组类叫做 ndarray
or array
attributes:
ndarray.ndim
ndarray.shape
ndarray.size
ndarray.dtype
:ndarray.dtype.name
返回字符串表示的类型名称ndarray.data
Example:
>>> import numpy as np
>>> a = np.arange(15).reshape(3, 5)
>>> a
array([[ 0, 1, 2, 3, 4],[ 5, 6, 7, 8, 9],[10, 11, 12, 13, 14]])
>>> a.shape
(3, 5)
>>> a.ndim
2
>>> a.dtype.name
'int64'
>>> a.itemsize
8
>>> a.size
15
>>> type(a)
<type 'numpy.ndarray'>
>>> b = np.array([6, 7, 8])
>>> b
array([6, 7, 8])
>>> type(b)
<type 'numpy.ndarray'>
Array Creation
create from list/tupe:
a = np.array([1, 2, 3])
b = np.array([[1, 2, 3], [4, 5, 6]], dtype=float)
create with shape:
- zeros:
np.zeros((3, 4))
- ones:
np.ones((2, 4, 3))
- empty:
np.empty((2, 3))
uninitialized
- zeros:
create sequences of number (similar to
range()
):arange:
np.arange(10, 30, 5)
syntax is the same asrange()
but returnsarray
接受浮点数,但是由于精度影响,输出的元素个数不确定。这种情况应使用
linspace
- linspace:
np.linspace(0, 2, 9)
return an array contains 9 numbers from 0 to 2
Basic Operations
- 算数操作对于
array
是按元素运算的,并返回一个新的array
>>> a = np.array( [20,30,40,50] )
>>> b = np.arange( 4 )
>>> b
array([0, 1, 2, 3])
>>> c = a-b
>>> c
array([20, 29, 38, 47])
>>> b**2
array([0, 1, 4, 9])
>>> 10*np.sin(a)
array([ 9.12945251, -9.88031624, 7.4511316 , -2.62374854])
>>> a<35
array([ True, True, False, False], dtype=bool)
>>> A = np.array( [[1,1],
... [0,1]] )
>>> B = np.array( [[2,0],
... [3,4]] )
>>> A*B # elementwise product
array([[2, 0],[0, 4]])# 两种矩阵乘法
>>> A.dot(B)
array([[5, 4],[3, 4]])
>>> np.dot(A, B)
array([[5, 4],[3, 4]])
- 一元运算 (sum, min, max)
>>> a = np.random.random((2,3))
>>> a
array([[ 0.18626021, 0.34556073, 0.39676747],[ 0.53881673, 0.41919451, 0.6852195 ]])
>>> a.sum()
2.5718191614547998
>>> a.min()
0.1862602113776709
>>> a.max()
0.6852195003967595
>>> b = np.arange(12).reshape(3,4)
>>> b
array([[ 0, 1, 2, 3],[ 4, 5, 6, 7],[ 8, 9, 10, 11]])
>>>
>>> b.sum(axis=0) # sum of each column
array([12, 15, 18, 21])
>>>
>>> b.min(axis=1) # min of each row
array([0, 4, 8])
Indexing, slicing and iterating
Python Numpy 笔记相关推荐
- [转载] python numpy 笔记(一)
参考链接: Python中的numpy.greater_equal numpy basic 1.Write a NumPy program to get the numpy version and s ...
- Python学习笔记——Numpy数组的移动滑窗,使用as_strided实现
Python学习笔记--Numpy数组的移动滑窗,使用as_strided实现 `Numpy`中移动滑窗的实现 为何需要移动滑窗 `Numpy`中的移动滑窗 移动滑窗的`as_strided`实现方法 ...
- 【CS231n】斯坦福大学李飞飞视觉识别课程笔记(二):Python Numpy教程(2)
[CS231n]斯坦福大学李飞飞视觉识别课程笔记 由官方授权的CS231n课程笔记翻译知乎专栏--智能单元,比较详细地翻译了课程笔记,我这里就是参考和总结. [CS231n]斯坦福大学李飞飞视觉识别课 ...
- 【CS231n】斯坦福大学李飞飞视觉识别课程笔记(一):Python Numpy教程(1)
最近开了一个新坑--[CS231n]斯坦福大学李飞飞视觉识别课程,准备认真学习并记录自己的学习历程. [CS231n]斯坦福大学李飞飞视觉识别课程笔记 由官方授权的CS231n课程笔记翻译知乎专栏-- ...
- 【Python学习笔记】cs231nPython Numpy教程
[Python学习笔记]cs231nPython Numpy教程 回顾经典教程cs231n,完成assignments觉得很困难,感觉自己python基础语法掌握的不是很熟,就顺藤摸瓜找了cs231n ...
- Python学习笔记第四十八天(NumPy 矩阵库(Matrix))
Python学习笔记第四十八天 NumPy 矩阵库(Matrix) 转置矩阵 matlib.empty() numpy.matlib.ones() numpy.matlib.eye() numpy.m ...
- Python numpy+pandas+matplotlib学习笔记
Python numpy+pandas+matplotlib 本文是根据b站路飞学城Python数据分析全套教程的学习视频整理归纳的学习文档,主要目的是方便自己进行查阅,详细的还得去b站看原视频.另外 ...
- dataframe,python,numpy 问题索引1
# 找出只有赌场数据的账户 gp=data.groupby(['查询账号','场景标签'],as_index=True) tj=gp.size().reset_index()按查询账号和场景标签分组并 ...
- Python机器学习笔记:sklearn库的学习
自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了,scikit-learn简称sklearn,支持包括分类,回归,降维和聚类四大机器学习算法.还包括了特征提取,数据 ...
最新文章
- 图解|通用搜索引擎背后的技术点
- C++类为什么使用private?------封装性
- 深度学习论文阅读路线图
- 下巴长痘痘是什么原因?要怎么解决?(实用教程)
- 本地通过域名访问虚拟机的网站部署方法(Nginx)
- 耳机不分主从是什么意思_开学必备高性价蓝牙耳机,学生党时尚配件推荐
- kibana下载安装
- 麻将游戏-协议实现 笔记
- python解决urllib发送请求报错:urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED].....>
- ADO.NET Command对象简介
- 动态调试 ida linux,IDA动态调试-ELF
- java add two numbers_两数相加(Add Two Numbers)
- android开发01 --开发工具
- HDU 2870 Largest Submatrix
- 计算机网络工程课程设计
- 导出java applet_Java Applet基础——输出HelloWorld
- 计算机研究生开题报告ppt模板,硕士开题报告ppt模板
- 基于jsp+mysql+Spring+SpringMVC+mybatis的ssm妇女联合会管理系统
- 目标检测——RCNN与YOLO系列
- 培训:3天带你快速上手Kubernetes | 上海站