Python中的Numpy包
通过本次学习你可以掌握Numpy
numpy的主要对象是同质多维数组。也就是在一个元素(通常是数字)表中,元素的类型都是相同的。
numpy的数组类被成为ndarray。别名为array。numpy.array与标准python库类array.array不一样,标准库类中的那个只能处理一维数组并且功能更少。
例如ndarray为矩阵
关于维数和类型操作:
ndarray.ndim 数组的轴(维度)的数量。
ndarray.shape: 数组的维度。
ndarray.size: 数组的元素的总个数。(m*n)
ndarray.dtype: 用来描述数组中元素类型的对象。
例子:
import numpy as np A = np.array([1,3,1])
B = np.array([[1],[2],[3]])
C = np.array([1,3,1],dtype= "float64")
print("""
数组A的维度数为%s
数组A的维度为%s
数组A的元素总个数为%s
""" %(A.ndim ,B.shape ,A.size))
print("""
数组A的类型%s
数组C的类型%s
""" %(A.dtype ,C.dtype ))
结果:

关于生成特殊矩阵操作:
zeros() 元素全部为0
ones() 元素全为1
arange(起始,结束,步长)
linspace(起始,结束,元素个数)
为了生成数字序列。numpy提供一个类似于arange的函数,返回一个列表,参数为(起始,结束,步长)
函数linspace是一个更好的选择,因为我们可以对该函数指定需要创建多少个元素,参数为(起始,结束,元素个数)
例子:
__author__ = "WSX" import numpy as np A = np.zeros((3,3))
B = np.ones((3,3))
C = np.arange(1.0,5,2.1)
D = np.linspace(1,5,4)
print("""
生成的A为:\n%s
生成的B为:\n%s
生成的C为:\n%s
生成的D为:\n%s
""" %(A,B,C,D))
结果:

关于reshape的使用:
A= np.array([1,2,3,4,5,6,7,8,9])
B= np.array([1,2,3,4,5,6,7,8,9,10,11,12])
print("A(3,3)\n", A.reshape(3,3)) #二维矩阵
print("B(1,9)\n",A.reshape(1,9)) #二维矩阵
print("B(2,2,3)\n",B.reshape(2,2,3)) #三维矩阵
结果:

关于矩阵的运算:
在数组上的算术操作符是逐元素的得到的是一个重新创建的数组,然后将结果写入新数组中:
numpy中乘积操作符×是逐元素进行的
矩阵的积可以通过使用dot 函数
(待续。。。)
Python中的Numpy包的更多相关文章
- 沉淀,再出发:python中的pandas包
沉淀,再出发:python中的pandas包 一.前言 python中有很多的包,正是因为这些包工具才使得python能够如此强大,无论是在数据处理还是在web开发,python都发挥着重要的作用,下 ...
- 在python中引用jar包
在本文中,首先创建一个maven项目,然后打包成jar包,在python中调用jar包,执行java类方法. 1.在eclipse中创建maven项目 我这里创建一个普通java项目,择选择 “mav ...
- python中的各个包的安装,用pip安装whl文件
在安装之前,一直比较迷惑究竟如何用,安装完后,发现竟然如此简单 首先我一般用的是python27,官网下载python27msi安装window7 64位后,已经自带了Pip 和 easy_insta ...
- python中TCP粘包问题解决方案
TCP协议中的粘包问题 1.粘包现象 基于TCP写一个远程cmd功能 #服务端 import socket import subprocess sever = socket.socket() seve ...
- python中模块与包的概念
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多 ...
- Python中的Numpy、SciPy、MatPlotLib安装与配置
Python安装完Numpy,SciPy和MatplotLib后,可以成为非常犀利的科研利器.网上关于这三个库的安装都写得非常不错,但是大部分人遇到的问题并不是如何安装,而是安装好后因为配置不当,在使 ...
- python 中 模块,包, 与常用模块
一 模块 模块:就是一组功能的集合体, 我们的程序可以直接导入模块来复用模块里的功能 导入方式 一般为 : import 模块名 在python中, 模块一般分为四个通用类别 1使用python编写. ...
- python中模块、包、库的区别和使用
模块:就是.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块. 包:在模块之上的概念,为了方便管理而将文件进行打包.包目录下第一个文件便是 __init__.py,然后是一些模块文件和 ...
- python中模块和包的概念
1.模块 一个.py文件就是一个模块.这个文件的名字是:模块名.py.由此可见在python中,文件名和模块名的差别只是有没有后缀.有后缀是文件名,没有后缀是模块名. 每个文件(每个模块)都是一个独立 ...
随机推荐
- Task Crontab
Crontab 1.查看任务 crontab -l 2.编辑任务 1)对应用户登录后编辑其下的作业 crontab -e 2)删除指定用户任务 crontab -u user -r 3)删除用户下指定 ...
- Maven的Snapshot版本与Release版本
1. Snapshot版本代表不稳定.尚处于开发中的版本 2. Release版本则代表稳定的版本 3. 什么情况下该用SNAPSHOT? 协同开发时,如果A依赖构件B,由于B会更新,B应该使用SNA ...
- 数据校验(2)--demo1---bai
input_score.jsp <%@ page language="java" import="java.util.*" pageEncoding=&q ...
- 数据校验(3)--demo2---bai
input_user.jsp <%@ page language="java" import="java.util.*" pageEncoding=&qu ...
- 线性表的链式存储——C语言实现
SeqList.h #ifndef _WBM_LIST_H_ #define _WBM_LIST_H_ typedef void List; typedef void ListNode; //创建并且 ...
- 语法错误: 标识符“acosf”
1>e:\vs2010\vc\include\cmath(19): error C2061: 语法错误: 标识符“acosf” 1>e:\vs2010\vc\include\cmath(1 ...
- java 多线程系列基础篇(十)之线程优先级和守护线程
1. 线程优先级的介绍 java 中的线程优先级的范围是1-10,默认的优先级是5.“高优先级线程”会优先于“低优先级线程”执行. java 中有两种线程:用户线程和守护线程.可以通过isDaemon ...
- mui封装的ajax请求
由于项目中引进MUI框架,所以就不需要引进jquery,但需要和后台交互时,常写为jquery格式:所以笔者觉得有必要将mui封装的ajax请求在这里提一下: 1,mui框架基于htm5plus的XM ...
- DAY5-模块与包
一.模块的介绍 1.什么是模块 #常见的场景:一个模块就是一个包含了一组功能的python文件,比如spam.py,模块名为spam,可以通过import spam使用. #在python中,模块的使 ...
- 数据库监听。数据库一次notify,Activity多次接收
今天项目中发现一个bug: (1)当uri数据库中有更新,会从数据库层DataService中通知应用层,调用notifyChange: mContext.getContentResolver().n ...