Python中的numpy模块解析
numpy
1. 创建对象
维度(dimensions):轴
轴的个数:秩(rank)
Numpy最重要的一个特点就是其N维数组对象(即ndarray)
创建数组最简单的函数就是用array函数:
Import numpy
data = [[1,2,3],[2,3,4],[4,5,6]]
ndarray_object = numpy.array(data)
ndarray_object = numpy.ones((3,4))
ndarray_object = numpy.zeros((3,4))
array 将输入数据(列表、元组、数组或者其他序列类型)转换为ndarray。要么推断出dtype,要么显示制定dtype。默认直接复制输入数据。
asarray 将输入转换为ndarray,如果输入本身就是一个ndarray就不进行复制。
arrange 类似于内置的range,但返回的是一个ndarray而不是列表。
ones,ones_like 根据制定的形状和dtype创建一个全1数组。ones_like一另一个数组为参数,并根据其形状和dtype创建一个全1数组。
zeros,zeros_like 类似于ones和ones_like,只不过产生的是全0数组而已。
empty,empty_like 创建新数组,只分配内存空间但不填充任何值。
eye,identity 创建一个正方的N x N 单位矩阵(对角线为1,其余为0)
2. ndarray的数据类型
dtype()是一个特殊的对象,它含有ndarray将一块内存解释为特定数据类型所需的信息。
numpy中的数据类型转换,不能直接改原数据的dtype!只能用函数astype()。
3. 数组与标量的运算
大小相等的数组之间的任何算术运算都会将运算进行到元素级。
同样,数组和标量的算术运算也会将那个标量传播到各个元素。
不同大小的数组之间的运算叫做广播。
4. 基本的索引和切片
>>>import numpy as np
>>>a=[1,2,3,4,5]
>>>np.array(a)
>>>array([1, 2, 3, 4, 5])
>>>b=np.array(a)
>>>b[1:3]
>>>array([2, 3])
>>>c=b[1:3]
>>>c
>>>array([2, 3])
>>>c[:]=12
>>>a
>>>[1, 2, 3, 4, 5]
>>>b
>>>array([ 1, 12, 12, 4, 5])
如果你想得到的是ndarray切片的一份副图而非视图,就需要显示低进行复制操作例如,
b[2:3].copy。
>>>names = np.array([["ryan"],["tom"],["hello"],["lucy"]])
>>>names
array([['ryan'],
['tom'],
['hello'],
['lucy']], dtype='|S5')
>>>names[2]="whathello"
>>>names
array([['ryan'],
['tom'],
['whath'],
['lucy']], dtype='|S5')
>>>b = np.array([["ryan"],["tom"],["whathello"],["lucy"]])
>>>b
array([['ryan'],
['tom'],
['whathello'],
['lucy']], dtype='|S9')
>>>b=="ryan"
array([[ True],
[False],
[False],
[False]])
Python关键字and 和 or在布尔数组中无效。
5. 数组转置和轴对换
>>>a=np.arange(15).reshape((3,5))
>>>a
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
6. 函数和方法method总览
# 1.创建数组
arrange, array, copy, empty_like, eye, fromfile, fromfunction, identity, linspace, logspace, mgrid, ogrid, ones, ones_like, r, zeros, zeros_like
# 2.转化
astype, atleast ld, atleast 2d, atleast 3d, mat
# 3.操作
array split, column stack, concatenate, diagonal, dsplit, dstack, hsplit, hstack, item, newsxis,ravel, repeat, reshape, resize, squeeze,swapaxes, take,transpose
# 4.询问
all, any, nonzero, where
# 5.排序
argmax, argmin, argsort, max, min, ptp, searchsorted, sort
# 6.运算
choose, compress, cumprod, cumsum, inner, fill, imag, prod, putmask, real, sum
# 7.基本统计
cov, mean, std, var
# 8.基本线性代数
cross, dot, outer, svd, vdot
Python中的numpy模块解析的更多相关文章
- Python中的urllib2模块解析
Name urllib2 - An extensible library for opening URLs using a variety of protocols 1. Description Th ...
- Python中第三方的用于解析HTML的库:BeautifulSoup
背景 在Python去写爬虫,网页解析等过程中,比如: 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站 常常需要涉及到HTML等网页的解析. 当然,对于简单的HTML中内 ...
- Python中的logging模块就这么用
Python中的logging模块就这么用 1.日志日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICALDEBUG:详细的信息,通常只出现在诊断问题 ...
- Python中的random模块,来自于Capricorn的实验室
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Python中的logging模块
http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stack ...
- Python中的random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- 浅析Python中的struct模块
最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结. 了解c语言 ...
- python中的StringIO模块
python中的StringIO模块 标签:python StringIO 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分 ...
- python中的select模块
介绍: Python中的select模块专注于I/O多路复用,提供了select poll epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqu ...
随机推荐
- Java面试之高并发系统
在开发高并发系统时有三把利器用来保护系统:缓存.降级和限流.
- python--map()、reduce()
map()和reduce()是一种在处理大数据时的重要思想,在平时也可以利用.在python中内置了这两个方法,map取映射的意思,reduce取归纳的意思. 一.map() map(func, ls ...
- ASP.Net Core 中使用Zookeeper搭建分布式环境中的配置中心系列一:使用Zookeeper.Net组件演示基本的操作
前言:马上要过年了,祝大家新年快乐!在过年回家前分享一篇关于Zookeeper的文章,我们都知道现在微服务盛行,大数据.分布式系统中经常会使用到Zookeeper,它是微服务.分布式系统中必不可少的分 ...
- POST BOY : Restful API 调试工具
在使用asp.net webapi开发中,一般情况下会使用一些工具来模拟请求. 其中有一款chrome浏览器插件POST MAN比较不错. 但是由于国内google服务使用不稳定,所以我自己写了一个简 ...
- Jquery遍历之获取子级元素、同级元素和父级元素
Jquery遍历之获取子级元素.同级元素和父级元素 Jquery的遍历,其实就当前位置的元素相对于其他元素的位置的关系进行查找或选取HTML元素.以某项选择开始,并沿着这条线进行移动,或向上(父级). ...
- WinForm 之 窗口最小化到托盘及右键图标显示菜单
Form最小化是指整个Form都缩小到任务栏上,但是窗体以Form的标题栏形式显示在任务栏上, 若是想让Form以Icon的形式显示在任务栏右下角,则需要给Form添加一个NotifyIcon控件. ...
- Python入门-用户登录程序
_flag = Falsecount = 0users = [['ziv', '123'], ['alex', '12345']]while count < 3: username = inpu ...
- StanfordPOSTagger的用法
或者: 然后, 由说明文档可知,nltk.tag.stanford module是与斯坦福标识符交互的模块.要到https://nlp.stanford.edu/software下载Tagger mo ...
- BAT (中国互联网公司三巨头)
BAT,B=百度.A=阿里巴巴.T=腾讯,是中国互联网公司百度公司(Baidu).阿里巴巴集团(Alibaba).腾讯公司(Tencent)三大互联网公司首字母的缩写.百度总部在北京.阿里巴巴总部在浙 ...
- Python3练习题求1000以内所有3和5的倍数的总和
sum = 0 for i in range(1,1000): if i%3 == 0 or i%5 == 0: sum += i print(sum)