Numpy学习之——数组创建
Numpy学习之——数组创建
过程展示
import numpy as np
a = np.array([2,3,9])
a
array([2, 3, 9])
a.dtype
dtype('int32')
b = np.array([1.2,2.3,3])
b
array([1.2, 2.3, 3. ])
b.dtype
dtype('float64')
常见的错误是:直接将多个数值当做参数传递,正确的做法是将他们以列表或数组的方式传递
# a = np.array(1,2,3)#错误
b = np.array([1,2,3])#正确
b = np.array([(1.5,2.2),(4.5,3.9)])
b
array([[1.5, 2.2],
[4.5, 3.9]])
c = np.array([(1.5,2.2),(4.5,3.9)],dtype=complex)
c
array([[1.5+0.j, 2.2+0.j],
[4.5+0.j, 3.9+0.j]])
s = "Hello! Mr.shi"
np.array(s)
array('Hello! Mr.shi', dtype='<U13')
创建带有初占位符内容的数组
- np.zeros()
- np.ones()
- np.empty()初始内容为0或者垃圾值,取决于当前内存的状态
- np.full(,x)创建一个全部由x填充的数组
默认情况下,数据类型为float64
注意:小数点表示是浮点数
np.zeros((5,),dtype=np.float)
array([0., 0., 0., 0., 0.])
np.zeros((3,4))
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]])
np.ones((2,3,4),dtype=np.int16)#同样可以指定类型
array([[[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]],
[[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]]], dtype=int16)
np.empty((2,3))
array([[6.23042070e-307, 1.60217812e-306, 1.11261638e-306],
[9.34605037e-307, 8.34451504e-308, 2.46155397e-312]])
np.full((3,4),25)
array([[25, 25, 25, 25],
[25, 25, 25, 25],
[25, 25, 25, 25]])
Numpy还提供了一个返回array序列的函数,而不是返回python的序列
他就是arange函数
函数原型:np.arange(start,stop,step,dtype)
分别对应:
起始,终止(不包含),步长,数据类型(缺省会使用数据的输入类型)
np.arange(2,9)
array([2, 3, 4, 5, 6, 7, 8])
np.arange(1,9,2)
array([1, 3, 5, 7])
由于range函数对于浮点数,使用步长时会出现精度的问题
使用linspace(),它的第三个参数为生成点个数(步长会自动计算)
函数原型:linspace(start,stop,num,endpoint,retstep,dtype)
分别为:起始、终止(包含)、要生成的数量、endpoint序列中是否包含stop(默认True)、retstep(True返回样例及步长)、数据类型
from numpy import pi
np.linspace(0,2,9)
array([0. , 0.25, 0.5 , 0.75, 1. , 1.25, 1.5 , 1.75, 2. ])
np.linspace(6,1,2,retstep=True)
(array([6., 1.]), -5.0)
matplptlib使用
%matplotlib notebook
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,2*pi,100)
f = np.sin(x)
plt.plot(x,f)
<IPython.core.display.Javascript object>
[<matplotlib.lines.Line2D at 0xe9c6ad0>]
在notebook中显示需要使用魔法命令
%matplotlib notebook
更深入的定制和查看全局选项,可以打开matplotlib/mpl-data下面的文件,修改后放置在home下以.matplotlibrc命名,每次使用时便会读取配置文件
Numpy学习之——数组创建的更多相关文章
- NumPy学习2:创建数组
1.使用array创建数组 b = array([2, 3, 4])print bprint b.dtype 2.把序列转化为数组 b = array( [ (1.5,2,3), (4,5,6) ] ...
- PHP学习之中数组--创建数组【1】
在PHP中数组的定义有三种写法,分别是: <?php //第一种方式是用关键字 array来创建的 $username = array("demo1","demo2 ...
- Numpy 多维数组简介
 NumPy是一个功能强大的Python库,主要用于对多维数组执行计算.NumPy这个词来源于两个单词-- Numerical和Python.NumPy提供了大量的库函数和操作,可以帮助程序员轻松地 ...
- Numpy 学习之路(1)——数组的创建
数组是Numpy操作的主要对象,也是python数据分析的主要对象,本系列文章是本人在学习Numpy中的笔记. 文章中以下都基于以下方式的numpy导入: import numpy as np fro ...
- NumPy 从数值范围创建数组
NumPy 从数值范围创建数组 这一章节我们将学习如何从数值范围创建数组. numpy.arange numpy 包中的使用 arange 函数创建数值范围并返回 ndarray 对象,函数格式如下: ...
- NumPy 从已有的数组创建数组
NumPy 从已有的数组创建数组 本章节我们将学习如何从已有的数组创建数组. numpy.asarray numpy.asarray 类似 numpy.array,但 numpy.asarray 只有 ...
- 【学习笔记】 第04章 NumPy基础:数组和矢量计算
前言 正式开始学习Numpy,参考用书是<用Python进行数据清洗>,计划本周五之前把本书读完,关键代码全部实现一遍 NumPy基础:数组和矢量计算 按照书中所示,要搞明白具体的性能差距 ...
- NumPy学习_00 ndarray的创建
1.使用array()函数创建数组 参数可以为:单层或嵌套列表:嵌套元组或元组列表:元组或列表组成的列表 # 导入numpy库 import numpy as np # 由单层列表创建 a = np. ...
- Numpy学习一:ndarray数组对象
NumPy是Python的一个高性能科学计算和数据分析基础库,提供了功能强大的多维数组对象ndarray.jupyter notebook快速执行代码的快捷键:鼠标点击选中要指定的代码框,Shift ...
随机推荐
- WebGL的shader
WebGL的shader(着色器)有2种:vertexShader(定点着色器)和 fragmentShader(片段着色器) 顶点着色器:定义点的位置.大小 片元着色器:定义画出来的物体的材质(颜色 ...
- HDU 1114 Piggy-Bank ——(完全背包)
差不多是一个裸的完全背包,只是要求满容量的最小值而已.那么dp值全部初始化为inf,并且初始化一下dp[0]即可.代码如下: #include <stdio.h> #include < ...
- Codeforces 23A You're Given a String...
A. You're Given a String... time limit per test 2 seconds memory limit per test 256 megabytes input ...
- Mysql -- 设置指定配置文件启动
mysqld --defaults-file=/etc/my.cnf --user=root
- [Oracle] 简单建表语句
// 注意表名,字段名,索引名 尽量不要带引号 CREATE TABLE FIRSTTB ( "ID" NUMBER(8,0) not null primary key, & ...
- 简单范例php调用C# WebService
准备工作:1. 安装IIS对于PHP的支持,看这里2. 要调用Web Service需要nusoap支持,只要弄个nusoap.php就可以了,把它放在要运行的php文件能够引用的地方,比如我放在同一 ...
- Caché,Cache数据库下载
Caché数据库主要用于医疗领域,国内的开发人员比较少接触,使用环境相对封闭,前段时间刚才用到,下载也费了许多时间,特记录一下,帮助那些需要的人. 顺便说一下,TreeSoft数据库管理系统,目前支持 ...
- C#使用CUDA
随着信息处理的爆炸增长,传统使用CPU计算已经无法满足计算作业增长的需求,GPU的出现为批量作业提供了新的契机.GPU计算拥有很类库,比如CUDA.OpenCL等,但是可以发现CUDA是其中相对比较成 ...
- Sed---linux系统三剑客(二)
grep .sed.awk被称为linux中的"三剑客". grep 更适合单纯的查找或匹配文本 sed 更适合编辑匹配到的文本 awk 更适合格式化文本,对文本进行较复杂格式 ...
- ASP.NET 拼多多用户登录授权后使用code去换取access_token
一.拼多多开放平台 由于本人刚毕业进公司实习 遇到一些问题然后想通过博客来记录和分享给大家一起学习. 第一次写博客没什么经验不是写的很好 请大家多多关照 嘴下留情哈哈 谢谢! 好了 话不多说直接进入主 ...