NumPy-生成ndarray

NumPy ndarray:多维数组对象

NumPy的核心特征之一就是 N-维数组对象——ndarray。

ndarray是Python中的一个快速、灵活的大型数据集容器。数字允许你使用类似于标量的操作语法在整块数据上进行数学计算。

首先要导入NumPy模块

import numpy as np

生成ndarray

生成数组对象最简单的方式就是使用array函数。 array函数接收任意的序列型对象(当然也包括其他的数组),生成一个新的包含传递数据的NumPy数组。

生成一维数组:

data1 = [6,7.5,8,0,1]
arr1 = np.array(data1)
print(arr1)

[6. 7.5 8. 0. 1. ]

生成二维数组:

data2 = [[1,2,3,4],[5,6,7,8]]
arr2 = np.array(data2)
print(arr2)
print(arr2.ndim)
print(arr2.shape)

[[1 2 3 4]
[5 6 7 8]]
2
(2, 4)

ndim 与 shape

这两个属性都是用来表示数组的。

ndim 用来表示这个数组是几维的

shape 用来表示这是一个几乘几的数组

dtype

除非显式的指定,否则 np.array 会自动推断生成数组的数据类型。 比如你的数组中如果有一个数字是浮点型的话 ,那么这个数据将会被自动推断为float型数组,并且数据类型将会被存储在一个特殊的元数据dtype中。

print(arr1.dtype)
print(arr2.dtype)

float64
int32

numpy 生成数组的函数:

函数名 | 描述

-----------函数名----- 描述
array 将输入数据(可以是列表、元组、数组以及其他序列)转换为ndarray,如不显式得指明数据类型, 将自动推断;默认复制所有的输入数据
asarray 将输入转换为ndarray,但如果输入已经是ndarray则不再复制,他和array的区别在于,当数据源是ndarray对象时,array仍会copy出一个副本,占用新的内存,但是asarray不会
arange Python内建函数range的数组版,返回一个数组例如 [1,2,3,4.....]
ones 根据给定形状和数据类型生成全1的数组
ones_like 根据所给的数组生成一个形状一样的全1的数组
zeros 根据给定形状和数据类型生成一个全0数组
zeros_like 根据所给的数组生成一个形状一样的全0数组
empty 根据给定形状生成一个没有初始化数值的空数组
empty_like 根据所给数组生成一个形状一样但是没有初始化数值的空数组
full 根据给定的形状和数组类型生成指定数值的数组 np.full(形状,填充值,dtype=数据类型)
full_like 根据所给数组生成一个形状一样但是内容是指定数值的数组,只需把形状参数改成一个ndarray对象就可以了
eyes 生成一个N*N特征矩阵 ,对角线位置全都是1,其余位置都是0,两者的区别在于,前者可以控制矩阵的形状,而后者只能是正方形矩阵
posted @ 2019-10-21 22:52  chanyuli  阅读(2166)  评论(0编辑  收藏  举报