Numpy 常用API学习(全)

一、介绍

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。

二、常用API

2.1.numpy.genfromtxt

从文本上读取相应的矩阵数据,delimiter是分隔符

import numpy

data = numpy.genfromtxt("data.txt",dtype=str,delimiter=",")

print(data)
print(type(data))
print(help(numpy.genfromtxt))
2.2.numpy.array

将列表转换为矩阵

vector = numpy.array([5,10,15,20])
matrix = numpy.array([[5,10,15],[20,25,30],[35,40,45]])
print(vector)
print(matrix)
2.3.vector.shape matrix.shape

获取一维矩阵的元素个数,获取二维矩阵的行列

vector = numpy.array([1,2,3,4])
# 一维则打印元素个数
print(vector.shape)
matrix = numpy.array([[5,10,15],[20,25,30]])
# 二维打印数组的行列
print(matrix.shape)
2.4.dtype

返回元素类型

# 得相同类型
vector2 = numpy.array([1,2.0,u"xx"])
vector2.dtype
2.5.取行列直接用中括号取
matrix = numpy.array(
  [
  [5,10,15],
  [20,25,30]
  ])
print(matrix[1][0])
print(matrix[1][2])
2.6.切片的使用

2.6.1.一维切片

vector = numpy.array([0,1,2,3])
# 取[0,3)
print(vector[0:3])

2.6.2.二维切片

切片列元素,并转换为行

matrix = numpy.array(
  [
  [5,10,15],
  [20,25,30]
  ])
# 取第一列
print(matrix[:,1])
# 取第[0,2)列
print(matrix[:,0:2])
print(matrix[0:1:,0:2])
2.7.进行每个元素判断
import numpy

vector = numpy.array([5,10,15,20])

# 对每个元素都进行判断
vector == 10
2.8.进行判断二维
matrix = numpy.array(
  [
  [5,10,15],
  [20,25,30],
  [35,40,45]
  ])
matrix == 20
2.9.这个判断值可以作为索引
vector = numpy.array([5,10,15,20])
equal_to_ten = (vector == 10)

print(equal_to_ten)
print(vector[equal_to_ten])

matrix = numpy.array(
  [
  [5,10,25],
  [20,25,30],
  [35,40,45]
  ])
value_25 = matrix==25
print(value_25)
print(matrix[value_25])
2.10.与或进行条件判断

多条件判断矩阵

vector = numpy.array([5,10,15,20])
equal_to_ten_and_five = (vector == 10) & (vector==5)
print(equal_to_ten_and_five)
equal_to_ten_and_five = (vector == 10) | (vector==5)
print(equal_to_ten_and_five)
vector[equal_to_ten_and_five] = 100
print(vector)
2.11.元素转换类型
vector = numpy.array(["1","2","3"])
print(vector)
print(vector.dtype)
vector = vector.astype(float)
print(vector)
print(vector.dtype)
2.12.求最大最小值min max
vector = numpy.array([5,6,10,10])
min = vector.min()
max = vector.max()
print(min)
print(max)
2.13.求列和
matrix = numpy.array(
  [
  [5,10,25],
  [20,25,30],
  [35,40,45]
  ])
# 维度为0时候,按行读取
matrix.sum(axis=0)
2.14.求行和
matrix = numpy.array(
  [
  [5,10,25],
  [20,25,30],
  [35,40,45]
  ])
# 维度为1时候,按列读取
matrix.sum(axis=1)
2.15.列表
import numpy as np

# 进行15个元素
print(np.arange(15))

# 转成3*5的
a = np.arange(15).reshape(3,5)
print(a)
2.16.打印行列
# 打印行列
print(a.shape)
2.17.打印维度
# 打印维度
a.ndim
2.18.打印dtype的名字
a.dtype.name
2.19.数组大小
# 数组大小
a.size
2.20.生成3行4列0矩阵
# 生成3行4列的0矩阵
np.zeros((3,4))
2.21.生成3行4列1矩阵
# 生成3行4列的1矩阵
np.ones((3,4))
2.22.生成10~30,隔着5
np.arange(10,30,5)
2.23.重置行列
np.arange(12).reshape(4,3)
2.24.随机数
# 2行3列的矩阵
np.random.random((2,3))
2.25.造100个值,0~2*pi,均分100
# 造100个值
from numpy import pi
np.linspace(0,2*pi,100)
2.26.矩阵的加减点乘法和直接乘法,次方
a = np.array([20,30,40,50])
b = np.arange(4)
print(a)
print(b)

c = a-b
print(c)

c -= 1
print(c)

b**=2
print(b)

print(a<35)
A = np.array([[1,1],
            [0,1]])
B = np.array([[2,0],
            [3,4]])
print(A)
print(B)
print("--------")

print(A*B)

print("--------")

print(A.dot(B))

Numpy API学习的更多相关文章

  1. Openstack api 学习文档 & restclient使用文档

    Openstack api 学习文档 & restclient使用文档 转载请注明http://www.cnblogs.com/juandx/p/4943409.html 这篇文档总结一下我初 ...

  2. ASP.NET MVC Web API 学习笔记---第一个Web API程序

    http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...

  3. Openstack python api 学习文档 api创建虚拟机

    Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...

  4. Windows录音API学习笔记(转)

    源:Windows录音API学习笔记 Windows录音API学习笔记 结构体和函数信息  结构体 WAVEINCAPS 该结构描述了一个波形音频输入设备的能力. typedef struct { W ...

  5. NSData所有API学习

      www.MyException.Cn  网友分享于:2015-04-24  浏览:0次   NSData全部API学习. 学习NSData,在网上找资料竟然都是拷贝的纯代码,没人去解释.在这种网上 ...

  6. Node.js API 学习笔记

    常用 API 学习笔记 url 函数 url.parse: 解析 url 地址 url.resolve: 向 url 地址添加或替换字段 url.format: 生成 url 地址 querystri ...

  7. 框架源码系列十一:事务管理(Spring事务管理的特点、事务概念学习、Spring事务使用学习、Spring事务管理API学习、Spring事务源码学习)

    一.Spring事务管理的特点 Spring框架为事务管理提供一套统一的抽象,带来的好处有:1. 跨不同事务API的统一的编程模型,无论你使用的是jdbc.jta.jpa.hibernate.2. 支 ...

  8. Numpy基础学习与总结

    Numpy类型学习 1.数组的表示 import numpy as np In [2]: #numpy核心是高维数组,库中的ndarray支持多维数组,同时提供了数值运算,可对向量矩阵进行运算 In ...

  9. RESTful API 学习

    /********************************************************************************* * RESTful API 学习 ...

随机推荐

  1. web-自动化测试流程

    1. 自动化测试流程 (1) 需求分析 (2) 挑选适合做自动化测试的功能 (3) 设计测试用例 (4) 搭建自动化测试环境 [可选] (5) 设计自动化测试项目的架构 [可选] (6) 编写代码 ( ...

  2. MySQL 事务一览

    MySQL 中的事务? 对 MySQL 来说,事务通常是一组包含对数据库操作的集合.在执行时,只有在该组内的事务都执行成功,这个事务才算执行成功,否则就算失败.MySQL 中,事务支持是在引擎层实现的 ...

  3. 日常工作问题解决:rhel7下配置多路径设备

    目录 1.情景描述 2.安装多路径软件 2.1 安装多路径 2.2检查安装情况 2.3 重启系统 2.4 将多路径软件添加至内核模块 2.5 检查内核添加情况 2.6 启动multipath服务 2. ...

  4. S3. Android 消息推送

    [概要] 消息推送

  5. Win10 鼠标右键新建菜单添加自定义文件

    1. 引言 在鼠标右键(右单机)新建菜单中添加自定义文件,例如:写字板,markdown等. 效果图: 2. 操作步骤(以Win10为例) 1. win+R输入regedit进入注册表 2. 这里以添 ...

  6. ARTS第六周打卡

    Algorithm : 做一个 leetcode 的算法题 1.合并两个排序链表 2.树的子结构 3.二叉树的镜像 4.包含Min函数的栈 5.栈的压入.弹出 6.二叉搜索树的后序遍历 7.从上往下打 ...

  7. LC 33. Search in Rotated Sorted Array

    问题描述 Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. ...

  8. xv6解析-- 多处理器操作

    xv6可以运行多cpu的计算机上,这个os使用mycpu函数来标识初当前的cpu,使用struct cpu结构体来记录当前的CPU状态.使用cpus这些状态存放于cpus数组中,使用ncpu来标志cp ...

  9. Django入门(下)

    一.创建APP 在每一个django项目中可以包含多个APP,相当于一个大型项目中的分系统.子模块.功能部件等.互相之间比较独立,但也有联系. 在pycharm下方的Terminal终端中输入命令: ...

  10. 关于Python的导入覆盖解决办法

    这种问题一般来说还是不会引起的,可能会出现在datetime和time这样类型的模块中. 例如: import datetime from datetime import datetime 如果写在一 ...