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 学习笔记的更多相关文章

  1. NumPy学习笔记 三 股票价格

    NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...

  2. NumPy学习笔记 二

    NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  3. NumPy学习笔记 一

    NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  4. Numpy学习笔记(下篇)

    目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...

  5. Numpy学习笔记(上篇)

    目录 Numpy学习笔记(上篇) 一.Jupyter Notebook的基本使用 二.Jpuyter Notebook的魔法命令 1.%run 2.%timeit & %%timeit 3.% ...

  6. 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 ...

  7. 数据分析之Pandas和Numpy学习笔记(持续更新)<1>

    pandas and numpy notebook        最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...

  8. numpy学习笔记Ⅰ

    一直被numpy和matplotlib困扰,打算好好学习一下,也是从自己的观点,学对自己帮助最大的部分 主要参考<https: www.runoob.com="" numpy ...

  9. Python numpy学习笔记(一)

    下边代码是关于numpy的一些基本用法,包括数组和矩阵操作等... import numpy as np print "<== print version ==>" p ...

随机推荐

  1. TensorFlow读取CSV数据(批量)

    直接上代码: # -*- coding:utf-8 -*- import tensorflow as tf def read_data(file_queue): reader = tf.TextLin ...

  2. 大数据工具比较:R 语言和 Spark 谁更胜一筹?

    本文有两重目的,一是在性能方面快速对比下R语言和Spark,二是想向大家介绍下Spark的机器学习库 背景介绍 由于R语言本身是单线程的,所以可能从性能方面对比Spark和R并不是很明智的做法.即使这 ...

  3. JMeter TCP性能测试

    jmeter是一款纯java的性能测试工具,跨平台运行方便.提供图形化界面设置.简单易用.     在性能测试方法论中,很典型的方法就是二八原则,量化业务需求. 二八原则:指80%的业务量在20%的时 ...

  4. Linux-nmon系统性能监控工具的使用及报表产出

    在进行性能测试的时候,需要获取服务器的各项指标,例如 CPU.MEM.I/O.DISK 等.网上有很多的监控工具,nmon 就是其中的一个,其可与 JMeter结合使用,测试系统的性能.其概要的介绍, ...

  5. rosetta mpi编译时出现 MPI has not been declared 错误

    安装openmpi2.1.0版本,编译mpi rosetta时出现 MPI has not been declared 错误,经过一系列的摸索发现安装openmpi-1.6.5就可以顺利编译,降低版本 ...

  6. node.js初识12

    1.express框架属于后端的框架 cnpm install --save express --save的作用是将下载的保存在package.json中 你可以点击http://www.expres ...

  7. LeetCode88.合并两个有序数组

    给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n. ...

  8. Java类访问控制

      public protected default private 本类 可见 可见 可见 可见 本类所在包 可见 可见 可见 不可见 其他包中的子类 可见 可见 不可见 不可见 其他包中的非子类 ...

  9. django 静态css js文件配置

    参考:http://blog.csdn.net/liqiancao/article/details/66151287

  10. 一 django框架?

    Django-1   一 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞 ...