numpy 数组创建例程

1 numpy.empty

empty(shape[, dtype=float, order=‘C‘])

创建指定 shape 和dtype 的未初始化数组

返回:ndarray。

说明:order = ‘C’ 或 ‘F‘ ‘C‘是按行的C风格的数组,’F‘为按列的Fortran 风格数组。

import numpy as np
a = np.empty((3,3),dtype = int)
print(a)

运行

[[   6553665    7471204    7536741]
 [   4587635    7143521    7077993]
 [       120 1702126437 1970217060]]

注:

空数组创建时的元素是随机产生的,并未将元素进行初始化设置,因此运行可能会比zeros和ones快一点,但是他需要用户手动设置数组中的所有值,谨慎使用

2 numpy.zeros

zeros(shape[, dtype=float, order=‘C‘])

返回各元素为0,形状为shape,数据类型为dtype的数组

import numpy as np
a = np.zeros(3)
print(a) #[0. 0. 0.]

b = np.zeros((3,),dtype=int)
print(b) #[0 0 0]

c = np.zeros((2,2),dtype=‘c8‘)
print(c)
# [[0.+0.j 0.+0.j]
#  [0.+0.j 0.+0.j]]

d = np.zeros((2,),dtype=[(‘x‘,‘i4‘),(‘y‘,‘i4‘)]) #自定义类型
print(d) #[(0, 0) (0, 0)]
print(d.dtype) #[(‘x‘, ‘<i4‘), (‘y‘, ‘<i4‘)]

3 numpy.ones

ones(shape[, dtype=float, order=‘C‘])

返回各元素为1,形状为shape,数据类型为dtype的数组

import numpy as np
a = np.ones(2)
print(a) #[1. 1.]

b = np.ones((2,1),dtype=‘i8‘)
print(b)
# [[1]
#  [1]]

s = (2,2)
c = np.ones(s)
print(c)
# [[1. 1.]
#  [1. 1.]]

4 numpy.eye

eye(N[, M=None, k=0, dtype=<class ‘float‘>, order=‘C‘])

实际上,行数和列数都等于n的矩阵称为n阶矩阵或n阶方阵,主对角线上的元素都为1的方阵称为之单位矩阵或单位阵

N - 矩阵的行数

M - 矩阵的列数,若为None,则默认为N列

k - 对角线的索引,0(默认)主对角线,正值上对角线,负值下对角线

import numpy as np
a = np.eye(2)
print(a)
# [[1. 0.]
#  [0. 1.]]
b = np.eye(3,k=-1,dtype=int)
print(b)
# [[0 0 0]
#  [1 0 0]
#  [0 1 0]]

5 numpy.full

full(shape, fill_value[, dtype=None, order=‘C‘])

返回各元素值为fill_value(标量),形状为shape,数据类型为dtype的数组

import numpy as np
a = np.full((2,2),np.inf)
print(a)
# [[inf inf]
#  [inf inf]]

b = np.full((2,2),5)
print(b)
# [[5 5]
#  [5 5]]

注:

inf - 数值(numeric),无穷(Infinity)数值

在numpy - core - numeric.py中

# set the default values
_setdef()

Inf = inf = infty = Infinity = PINF
nan = NaN = NAN
False_ = bool_(False)
True_ = bool_(True)

注:

inf  - 正无穷,float类型

-inf -  负无穷 ,float类型

import numpy as np
b = np.inf
print(b) #inf
c = b>9999999999999999999999
print(c) #True

参考:NumPy数组创建例程 和官方文档 (numpy-ref-1.14.5.pdf)3.1.1 Ones and zeros

原文地址:https://www.cnblogs.com/gengyi/p/9195182.html

时间: 2024-09-29 04:04:02

numpy 数组创建例程的相关文章

Numpy:数组创建、数组基本属性

Numpy数组创建 import numpy as np ''' numpy中的ndarray数组 ''' ary = np.array([1, 2, 3, 4, 5]) print(ary) ary = ary * 10 print(ary) ''' ndarray对象的创建 ''' # 创建二维数组 # np.array([[],[],...]) a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) print(a) # np.arange(起始值, 结束值,

numpy数组和python数组的区别

1.numpy数组创建时是固定大小,python数组(list)是动态的.更改ndarray的大小将创建一个新数组并删除原来的数组. 2.元素类型区别. NumPy数组中的元素都需要具有相同的数据类型,因此在内存中的大小相同. python的List可以存放不同类型的元素. 例外情况:Python的原生数组里包含了NumPy的对象的时候,这种情况下就允许不同大小元素的数组. 3.数学操作执行效率高于原生python 4.越来越多的基于Python的科学和数学软件包使用NumPy数组 原文地址:h

【Python实战15】NumPy数组的创建

NumPy提供了一个N维数组对象,即:ndarray.ndarray是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的. 创建ndarray数组 创建数组最简单的方式就是使用array函数,它接受一切序列型的对象,然后产生一个新的含有传入数据的NumPy数组.如下: 嵌套的序列将会被转换为一个多为数组: 除非显示的说明,np.array会尝试为新建的这个数组推断出一个较为合适的数据类型,我们可以通过dtype来进行查看,比如上面刚建立的数组类型为:int32类型:另,我们可以

NumPy | 05 创建数组

ndarray 数组除了可以使用底层 ndarray 构造器来创建外,也可以通过以下几种方式来创建. 一.numpy.empty numpy.empty 方法用来创建一个指定形状(shape).数据类型(dtype)且未初始化的数组: numpy.empty(shape, dtype = float, order = 'C') 参数说明: 参数 描述 shape 数组形状 dtype 数据类型,可选 order 有"C"和"F"两个选项,分别代表,行优先和列优先,在

numpy 数组对象

numpy 数组对象NumPy中的ndarray是一个多维数组对象,该对象由两部分组成:实际的数据,描述这些数据的元数据# eg_v1 import numpy as np a = np.arange(5) # 创建一个包含5个元素的NumPy数组a,取值分别为0~4的整数 print (a) # [0 1 2 3 4] print (a.dtype) # dtype 查看数组的数据类型 # int32 (数组a的数据类型为int32) # 确定数组的维度(数组的shape属性返回一个元组(tu

Python numpy数组扩展效率问题

Numpy库的ndarray数组可以方便地进行各种多维数据处理工作 可是它最大的缺点就是不可动态扩展--"NumPy的数组没有这种动态改变大小的功能,numpy.append()函数每次都会重新分配整个数组,并把原来的数组复制到新数组中."(引用自http://blog.chinaunix.net/uid-23100982-id-3164530.html) 场景: 今天用ndarray处理 42000 条数据时,就遇到了数组扩展的效率问题 文件名:train.csv(后附下载) 文件大

numpy数组、向量、矩阵运算

可以来我的Github看原文,欢迎交流. https://github.com/AsuraDong/Blog/blob/master/Articles/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/numpy%E6%95%B0%E7%BB%84%E3%80%81%E5%90%91%E9%87%8F%E3%80%81%E7%9F%A9%E9%98%B5%E8%BF%90%E7%AE%97.md import numpy as np import pandas as pd

Numpy数组对象的操作-索引机制、切片和迭代方法

前几篇博文我写了数组创建和数据运算,现在我们就来看一下数组对象的操作方法.使用索引和切片的方法选择元素,还有如何数组的迭代方法. 一.索引机制 1.一维数组 In [1]: a = np.arange(10,16) In [2]: a Out[2]: array([10, 11, 12, 13, 14, 15]) #使用正数作为索引 In [3]: a[3] Out[3]: 13 #还可以使用负数作为索引 In [4]: a[-4] Out[4]: 12 #方括号中传入多数索引值,可同时选择多个

数据分析(1) Numpy数组

Numpy的数组类被称作ndarray,通常被称作数组. 特点:元素类型相同,数量事先给定. 1 创建方式 (1)array( ):接收一个普通的Python序列(元组与列表并无区别),并将其转换为ndarray: # 使用列表创建 list1 = [1, 2, 3, 4, 5] print('使用一维列表创建:\n', np.array(list1)) list2 = [[1, 2, 3], [4, 5, 6]] print('使用二维列表创建:\n', np.array(list2)) #