numpy 学习笔记
numpy 学习笔记
导入 numpy 包
import numpy as np
声明 ndarray 的几种方法
方法一,从list中创建
l = [[1,2,3], [4,5,6], [7,8,9]]
matrix = np.array(l)
print(matrix)
[[1 2 3]
[4 5 6]
[7 8 9]]
方法二,指定维度,不赋值
matrix = np.ndarray(shape=(3,4))
print(matrix)
[[9.66308774e-312 2.47032823e-322 0.00000000e+000 0.00000000e+000]
[1.89146896e-307 2.42336543e-057 5.88854416e-091 9.41706373e-047]
[5.44949034e-067 1.46609735e-075 3.99910963e+252 3.43567991e+179]]
由上述的输出可见,矩阵内部的值未初始化,其实这都是原来对应内存地址中的数值
方法三,指定维度,初始化成全零的矩阵
matrix = np.zeros(shape=[3,4])
print(matrix)
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
方法四,使用默认参数,赋值成从0至arange的一组数
使用默认参数(arange),生成从0至arange的一组数据
matrix = np.arange(12).reshape(3,4)
print(matrix)
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
方法五,生成随机数数组
arr = np.random.random((1,5)) # 生成 1 行 5 列的一组数
[[ 2.42219258 0.67773029 5.412364 6.21824333 1.2890334 ]]
数值计算
操作全部元素
乘法
print(matrix)
print("after times 10 on every elements:")
print(matrix * 10)
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
after times 10 on every elements:
[[ 0 10 20 30]
[ 40 50 60 70]
[ 80 90 100 110]]
加法
print(matrix)
print("after plus 10 on every elements:")
print(matrix + 10)
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
after plus 10 on every elements:
[[10 11 12 13]
[14 15 16 17]
[18 19 20 21]]
操作部分元素
print(matrix)
print("after times 10 on every elements:")
print(matrix[1] * 10)
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
after times 10 on every elements:
[40 50 60 70]
计算矩阵的秩
m = np.array([[1,2,3], [0,1,2], [0,0,1]])
np.linalg.matrix_rank(m, tol=None)
output:
3
索引部分元素
取一行数据
print(matrix)
print("a line of a matrix:")
print(matrix[1])
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
a line of a matrix:
[4 5 6 7]
取一列数据
以行的形式返回,得到一个行向量
print(matrix)
print("a column of a matrix:")
print(matrix[:,1])
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
a column of a matrix:
[1 5 9]
以列的形式返回,得到一个列向量
print(matrix)
print("a column of a matrix:")
print(matrix[:,1:2])
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
a column of a matrix:
[[1]
[5]
[9]]
类型转换
astype 方法可以完成类型转换
>>> import numpy as np
>>> x = np.array([0.1, 0.2, 1.2])
>>> x.astype('int')
array([0, 0, 1])
numpy 转 list
numpy 变量自带 tolist 方法
>>> a = np.array([[1, 2], [3, 4]])
>>> a.tolist()
[[1, 2], [3, 4]]
参考资料
《利用python进行数据分析》. https://book.douban.com/subject/25779298/
Numpy. Quickstart tutorial. https://docs.scipy.org/doc/numpy/user/quickstart.html
numpy 学习笔记的更多相关文章
- NumPy学习笔记 三 股票价格
NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- NumPy学习笔记 一
NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- Numpy学习笔记(下篇)
目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...
- Numpy学习笔记(上篇)
目录 Numpy学习笔记(上篇) 一.Jupyter Notebook的基本使用 二.Jpuyter Notebook的魔法命令 1.%run 2.%timeit & %%timeit 3.% ...
- Python数据分析:Numpy学习笔记
Numpy学习笔记 ndarray多维数组 创建 import numpy as np np.array([1,2,3,4]) np.array([1,2,3,4,],[5,6,7,8]) np.ze ...
- 数据分析之Pandas和Numpy学习笔记(持续更新)<1>
pandas and numpy notebook 最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...
- numpy学习笔记Ⅰ
一直被numpy和matplotlib困扰,打算好好学习一下,也是从自己的观点,学对自己帮助最大的部分 主要参考<https: www.runoob.com="" numpy ...
- Python numpy学习笔记(一)
下边代码是关于numpy的一些基本用法,包括数组和矩阵操作等... import numpy as np print "<== print version ==>" p ...
随机推荐
- Go断后,Dart冲前,Google的野心
今天,我要讲讲新的前端web语言-Dart 我是网上看到这段话,激起了兴趣,虽然我不能算是真正的web前端从业者!哈哈 [ Dart语言由谷歌制造,用来替代Javascript,弥补Javascrip ...
- iOS UI进阶-2.0 CALayer
在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图 ...
- SpringBoot的json序列化及时间序列化处理
使用场景:前台的多种时间格式存入后台,后台返回同时的时间格式到前台. 1 在config目录下配置jscksonConfig.java package com.test.domi.config; im ...
- Vue系列之 => 组件中的data和methods
使用data <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- latex 公式 和排版
http://bbs.chinatex.org/forum.php?mod=viewthread&tid=7423 http://blog.sina.com.cn/s/blog_5e16f17 ...
- hdu5290树形dp
题意 给了n个点的数 每个点有一个w[i]权值,如果你选择了i这个点那么距离i这个点距离为w[i]的点将被除去,最后问 选则尽量少的点把这n个点全部删除 1<=n<=100000, 0&l ...
- hdu5029 树链剖分 + 线段树
将树映射在线段上进行操作 然后每个 重链变成一个连续的区间 #include <iostream> #include <cstdio> #include <strin ...
- Spark学习之路 (三)Spark之RDD
一.RDD的概述 1.1 什么是RDD? RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素 ...
- mark_save
class BookConfig(ModelStark): def edit(self, obj=None, is_header=False): if is_header: return " ...
- Thread(26)
1.进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 2.线程:线程是进程中的一个执行单元,负责当前进程中程序的执行, ...