学习链接:http://www.runoob.com/numpy/numpy-tutorial.html

简介:

numPy是python语言的一个扩展库,是一个运行非常快的数学库,主要用于数组计算。它支持大量的维度与数据运算还针对数组运算提供大量的数学函数库。它包含:一个强大的n维数组对象ndarray、广播功能函数、整合c/c++/fortran的工具、线性代数、傅里叶变化与随机数生成等功能

numPy应用

numpy通常与SciPy(Scientific Python)和Matplotlib(绘图库)配合使用,来代替MatLab,构成为强大的科学计算环境,帮助我们通过Python学习数据科学或者机器学习

安装:

$pip install numPy

测试安装成功:

>>> from numpy import * #导入numpy库

>>> eye(4) #生成对角矩阵

array([[1., 0., 0., 0.],

[0., 1., 0., 0.],

[0., 0., 1., 0.],

[0., 0., 0., 1.]])

使用

*)numpy.linspace()

像python中的range一般,返回有指定的间隔产生的均匀间隔的数组,值得注意的是有dtype这个参数

*)numpy. arange()

值在半开区间里被生成[start,stop),对于int类型的参数,函数等同于python中的range,但是返回一个ndarray而不是list

但是对于非整形的step参数,每次返回的结果往往不一致,对于这种情况,选择numpy.linspace()更好

*)numpy.zeros()

返回由0填充的数组,能指定填充的0的dtype

*)numpy.column_stack()

将一系列的1-D(我认为是1维)arrays堆叠为column以此来将他们转化为一个2维array,二维数组被堆叠为和原来的一样

*)

*)list to array

参考链接:https://docs.scipy.org/doc/numpy/reference/generated/numpy.asarray.html

>>> a = [1, 2]

>>> np.asarray(a)

array([1, 2])

numpy random模块参考链接:https://www.cnblogs.com/hhh5460/p/4324967.html#top(官方文档翻译)

*)np.random.randint(low[,high,size,dtype])

参考链接:https://www.jianshu.com/p/36a4bbb5536e

>>> np.random.randint(0,20,4)

array([ 1, 9, 17, 11])

>>> np.random.randint(0,20,[4,1])#结果中包含4个数组,每个一个

array([[16],

[19],

[ 5],

[ 9]])

>>> np.random.randint(0,20,[4])

array([ 4, 6, 11, 14])

>>> np.random.randint(0,20,4,1)

Traceback (most recent call last):

File "", line 1, in

File "mtrand.pyx", line 973, in mtrand.RandomState.randint

TypeError: data type not understood

1)np.random.normal()生成高斯分布的概率密度随机数

参考链接:https://blog.csdn.net/qiqiaiairen/article/details/52505667

这个方法返回一个正态分布的数组?(正态分布、又称高斯分布、钟形曲线)

numpy.random.normal(loc=0.0, scale=1.0, size=None)

参数含义:

loc:(float类型)概率分布的均值,是对应于整个分布的中心而言

scale:(float类型)概率分布的标准差(标准差反应集合内个体的离散程度,越大越离散),对应于分布的宽度而言(即高度一定?),scale越大越矮胖,scale越小越瘦高

size:(int or tuple of ints类型)输出的shape(?),默认为None,只输出一个值

这个方法返回一个正态分布的数组

>>> numpy.random.normal(0,1,20)

array([-0.98305884, -0.79340779, 0.69865242, 1.10930775, 0.17458143,

0.88452427, 0.92862304, -1.27837941, -0.88772762, 0.86100981,

3.06262977, 1.66589188, -1.34269035, -0.13672729, 0.01154996,

-1.88304306, 0.35375017, -0.88784919, 2.77849309, 0.68915905])

2)np.range与range

range是python自带的库

参考链接:https://blog.csdn.net/lanchunhui/article/details/49493633

三个参数(S,E,Step_size)第一个参数是起点,第三个是步长,返回一个不包括第二个参数的数据序列

numpy里的数据类型、数据类型对象dtype

numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型。详情见参考链接

数据类型对象 (dtype)

dtype是用来描述与数组对应的内存区域如何使用(懵逼,不只有一种使用方法吗?)这依赖如下几个方面:

数据的类型(整数,浮点数或者 Python 对象)

数据的大小(例如, 整数使用多少个字节存储)

数据的字节顺序(小端法或大端法)

字节顺序是通过对数据类型预先设定"<"或">"来决定的。"<"意味着小端法(最小值存储在最小的地址,即低位组放在最前面)。">"意味着大端法(最重要的字节存储在最小的地址,即高位组放在最前面)。

在结构化类型的情况下,字段的名称、每个字段的数据类型和每个字段所取的内存块的部分

如果数据类型是子数组,它的形状和数据类型

dtype 对象是使用以下语法构造的:

numpy.dtype(object, align, copy)

object - 要转换为的数据类型对象

align - 如果为 true,填充字段使其类似 C 的结构体。(继续懵逼)

copy - 复制 dtype 对象 ,如果为 false,则是对内置数据类型对象的引用

创建dtype的例子:

>>> dt=np.dtype(np.int32)# 使用标量类型#不要忘记前面的np.

>>> print(dt)

int32#直接输出的这个

>>>

之后有列举了一些创建dtype的其他实例,介绍了一些特殊的格式如:

int8, int16, int32, int64 四种数据类型可以使用字符串 "i1", "i2","i4","i8" 代替

特殊的有一个字节顺序标注的

import numpy as np

# 字节顺序标注

dt = np.dtype("

print(dt)

#结果

int32

之后又展示了结构化数据类型的创建

# 类型字段名可以用于存取实际的 age 列

import numpy as np

dt = np.dtype([("age",np.int8)])

a = np.array([(10,),(20,),(30,)], dtype = dt)

print(a["age"])

#结果:

[10 20 30]

问题

因为上面哪个“dtype是用来描述与数组对应的内存区域如何使用”的疑惑还没有解决,而且在后面我也没有看到dtype是怎样使用的,只是输出了int32之类的东西,难道上面哪一个“结构化”是使用,

而且numpy的一些方法如numpy.linspace()又dtype这个参数,我也不知道有什么用。

python numpy 数据类型为python对象-python numPy模块 与numpy里的数据类型、数据类型对象dtype...相关推荐

  1. python中成绩分析函数_自学Python笔记:用Python做成绩分析(1)

    有朋友会问,刚学了一周,什么是面向对象都还不清楚就可以写程序?还有Python不是写"爬虫"吗? Python是面向对象的语言,函数.模块.数字.字符串都是对象,并且完全支持继承. ...

  2. python numpy数据类型_python numPy模块 与numpy里的数据类型、数据类型对象dtype

    学习链接:http://www.runoob.com/numpy/numpy-tutorial.html 简介: numPy是python语言的一个扩展库,是一个运行非常快的数学库,主要用于数组计算. ...

  3. python中ndarray对象实例化_Python数据分析之Numpy学习 2——NumPy 基础 ndarray对象

    Python数据分析之Numpy学习 2 -- NumPy 基础学习 NumPy(Numerical Python)是高性能科学计算和数据分析的基础包.NumPy的主要对象是同构数据多维容器(homo ...

  4. Python 第三方模块之 NumPy - 科学计算

    NumPy 简介 NumPy 发展历史 1995年 Jim HugUNin开发了Numeric. 随后,Numarray包诞生. Travis Oliphants整合Numeric和Numarray, ...

  5. python表格类型数据的组织维度是_Python数据分析 - Numpy

    原标题:Python数据分析 - Numpy 前言 NUMPY(以下简称NP)是Python数据分析必不可少的第三方库,np的出现一定程度上解决了Python运算性能不佳的问题,同时提供了更加精确的数 ...

  6. python统计数据分析基础教程_Python数据分析基础教程:NumPy学习指南(第2版)

    第1章 NumPy快速入门 让我们开始吧.首先,我们将介绍如何在不同的操作系统中安装NumPy和相关软件,并给出使用NumPy的简单示例代码.然后,我们将简单介绍IPython(一种交互式shell工 ...

  7. python菜鸟教程官网pandas,python菜鸟教程官网numpy

    求比较好的Python练习网站 适合 Python 入门学习的5个网站1. Python官方网站最权威的 Python 教程.2. 菜鸟教程 Python 教程基本入门级教程,还有一些简单的进阶教程. ...

  8. python numpy库作用_整理numpy库的常用功能(持续更新…),NumPy,函数,梳理

    NumPy简介 NumPy是Python中科学计算的基础包.它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学.逻辑.形状操作.排 ...

  9. load python txt文件_详解Python中numpy.loadtxt()读取txt文件

    为了方便使用和记忆,有时候我们会把 numpy.loadtxt() 缩写成np.loadtxt() ,本篇文章主要讲解用它来读取txt文件. 读取txt文件我们通常使用 numpy 中的 loadtx ...

最新文章

  1. 全球首家!苹果市值达 3 万亿美元,创历史新高
  2. tensorflow gan网络流程图
  3. SpringMVC 学习系列 (3) 之 URL请求到Action的映射规则
  4. 通俗讲解傅里叶变换fft
  5. python编辑elif显示错误_Python运行的17个时新手常见错误小结
  6. pandas获取最大值/最小值对应的index
  7. 面向对象之反射和其他内置方法
  8. 计算机科学与技术探索,计算机科学与技术的发展趋势探索
  9. php 环境优化,Nginx与PHP-fpm环境在大流量下的优化配置
  10. ps3存档是php文件,PS3存档修改图文详细全教程
  11. Javascript第五章倒计时第二课
  12. 计算机基础知识运算符,计算机基础运算符
  13. 特效编辑器开发手记3——保存纹理到plist Base64编码与Zip压缩(上源码)
  14. 【软件】一个好用的QQ截图工具(百度云免费下载链接)
  15. 考勤系统的软件上位机设计
  16. 崩坏3mmd中的渲染技术研究
  17. 《阿里云服务器教程3》:手机移动端如何远程登录阿里云服务器ECS
  18. 【华为2019年校园招聘】2019-4-17 软件题-水果摊小买卖
  19. 对建立奉贤区区级工程技术中心的企业给予30万元奖励
  20. vim visual block模式

热门文章

  1. 这个图聚类Python工具火了:可对社群结构进行可视化、检测 | 开源
  2. 这些神经网络,还可信吗?
  3. 20 位百万富翁希望自己 20 岁就明白的事
  4. 完胜ReLU!斯坦福的神经网络采用这种激活函数,竟高保真还原各种图像视频
  5. CVPR2020人脸防伪检测挑战赛冠军方案开源
  6. 图神经网络(Graph Neural Networks,GNN)综述
  7. 手把手教你研发自己的智能无人机 谢谢您呀!
  8. 谷歌为什么把几十亿行代码放在一个库?
  9. Nginx源码分析:惊群处理与负载均衡
  10. Serializer反序列化使用之验证和保存