创建ndarray
Numpy最重要的一个特点就是其N维数组对象(即ndarray),该对象是一个快速而灵活的大数据集容器,是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的。
创建数组最简单的方法就是array函数,它接受一切序列型的对象(包括其他数组),然后产生一个新的含有传入数据的Numpy数组。
以一个列表为例:
In [2]: import numpy as np In [3]: simple = [1,2.3,4,5] In [4]: arr = np.array(simple) In [5]: arr
Out[5]: array([ 1. , 2.3, 4. , 5. ])
嵌套序列(比如由一组等长列表组成的列表)将会被转换为一个多维数组:
In [6]: simple1 = [[1,2,3,4],[5,6,7,8]] In [7]: arr1 = np.array(simple1) In [8]: arr1
Out[8]:
array([[1, 2, 3, 4],
[5, 6, 7, 8]]) In [9]: arr1.ndim 获得数组的维数
Out[9]: 2 In [10]: arr1.shape
Out[10]: (2, 4)
除非显示说明,np.array会尝试为新建的数组推断出一个较为合适的数据类型,数据类型保存在一个特殊的dtype对象中。
In [12]: arr.dtype
Out[12]: dtype('float64') In [13]: arr1.dtype
Out[13]: dtype('int64')
除了np.array之外,还有一些函数也可以新建数组。比如zeros和ones分别可以创建指定长度或形状的全0或全1数组。empty可以创建一个没有任何具体值的数组。要用这些方法创建多维数组,只需传入一个表示形状的元祖即可。
In [14]: np.zeros(10)
Out[14]: array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) In [15]: np.ones(10)
Out[15]: array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]) In [16]: np.empty((2,3))
Out[16]:
array([[ 0.00000000e+000, 8.20622089e-317, 4.65914971e-317],
[ 6.90846568e-310, 6.90847131e-310, 1.25836781e-316]])
arange是Python内置函数range的数组版
In [17]: np.arange(10)
Out[17]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
数组创建函数
| 函数 | 说明 |
| array | 将输入数据(列表、元祖、数组或其他序列类型)转换为ndarray |
| asarray | 将输入转换为ndarray,如果输入本身就是一个ndarray就不进行复制 |
| arange | 类似于内置的range,但返回的是一个ndarray而不是列表 |
| ones、ones_like | 根据指定的形状和dtype创建一个全1数组。ones_like以另一个数组为参数,并根据其形状和dtype创建一个全1数组 |
| zeros、zeros_like | 类似于ones和ones_like,只不过产生的是全0数组而已 |
| empty、empty_like | 创建新数组,只分配内存空间但不填充任何值 |
| eye、identity | 创建一个正方的NxN单位矩阵(对角线为1,其余为0) |
创建ndarray的更多相关文章
- numpy 基于数值范围创建ndarray()
基于数值范围创建函数创建ndarray 1 numpy.arange arange([start=0,] stop[, step=1,][, dtype=None]) >>> np. ...
- numpy 基于现有数据创建ndarray(from existing data)
1 numpy.array array(object[, dtype=None, copy=True, order='K', subok=False, ndmin=0]) 2 numpy.asarra ...
- ndarray 数组的创建和变换
ndarray数组的创建方法 1.从python中的列表,元组等类型创建ndarray数组 x = np.array(list/tuple) x = np.array(list/tuple,dtype ...
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- 创建naarray(1)
创建ndarray Numpy创建ndarray的方法比较够用,几乎也就是矩阵运算的常用的方法. 约定: import numpy as np 常用的创建ndarray的函数有:np.array, n ...
- NumPy 超详细教程(3):ndarray 的内部机理及高级迭代
系列文章地址 NumPy 最详细教程(1):NumPy 数组 NumPy 超详细教程(2):数据类型 NumPy 超详细教程(3):ndarray 的内部机理及高级迭代 ndarray 对象的内部机理 ...
- 使用MXNet的NDArray来处理数据
NDArray.ipynb NDArray介绍 机器学习处理的对象是数据,数据一般是由外部传感器(sensors)采集,经过数字化后存储在计算机中,可能是文本.声音,图片.视频等不同形式. 这些数字化 ...
- Python3NumPy——ndarray对象
Python3NumPy——ndarray对象 1.前沿 推荐导入语法:import numpy as np NumPy中使用ndarray对象表示数组,ndarray是NumPy库的核心对象 2.创 ...
- NumPy 从已有的数组创建数组
NumPy 从已有的数组创建数组 本章节我们将学习如何从已有的数组创建数组. numpy.asarray numpy.asarray 类似 numpy.array,但 numpy.asarray 只有 ...
随机推荐
- (十五)UITableViewCell的常见属性
UItableViewCellStyle: typedef NS_ENUM(NSInteger, UITableViewCellStyle) { UITableViewCellStyleDefault ...
- AngularJS进阶(十四)AngularJS灵异代码事件
AngularJS灵异代码事件 注:请点击此处进行充电! 事情原委 router_sys.js源代码如下: 自己在html路由跳转的代码如下: 但是在实际路由过程中,却路由到了下面的状态,相应的页面中 ...
- 【一天一道leetcode】 #2 Add Two Numbers
一天一道leetcode系列 (一)题目: You are given two linked lists representing two non-negative numbers. The digi ...
- PostgreSQL两种分页方法查询时间比较
数据库中存了3000W条数据,两种分页查询测试时间 第一种 SELECT * FROM test_table WHERE i_id> limit 100; Time: 0.016s 第二种 SE ...
- Socket层实现系列 — bind()的实现(二)
本文主要内容:bind()的TCP层实现.端口的冲突处理,以及不同内核版本的实现差异. 内核版本:3.6 Author:zhangskd @ csdn blog TCP层实现 SOCK_STREAM套 ...
- OpenCV实现图像物体轮廓,前景背景,标记,并保存。
#include <iostream> // for standard I/O #include <string> // for strings #include <io ...
- MurmurHash
public int hash(byte[] data, int length, int seed) { int m = 0x5bd1e995; int r = 24; int ...
- Ajax 模糊查询的简单实现
类似于百度的搜索引擎模糊查询功能,不过百度的模糊查询功能更强大,这里简单实现下. 要实现模糊查询,首先要做的就是把SQL写好.话不多少,直接贴代码了! JSP页面: <%@ page langu ...
- Twemproxy分析
twemproxy(又称为nutcracker)是一个轻量级的Redis和Memcached代理,主要用来减少对后端缓存服务器的连接数. 由Twitter开源出来的缓存服务器集群管理工具,主要用来弥补 ...
- 关于java和c++中布尔量的比较
在c++中允许 bool 量和 int 整形常量相互转换,并且用cout<<true; 在控制台上可以输出为 1 int main(int argc, _TCHAR* argv[]) { ...