Python中空数组的定义及np.shape返回(数字,)是否为空数组的疑问
Python中空数组的定义与shape结果解析
一、如何定义空数组
- 普通Python列表(可作为基础数组使用):直接用空方括号定义,示例:
empty_list = [] - NumPy空数组:
- 定义明确类型的空一维数组:
import numpy as np empty_np_array = np.array([], dtype=np.float64) - 创建指定形状的空数组(注意:
np.empty是分配未初始化的内存,并非填充空值):# 一维空数组 empty_1d = np.empty(shape=(0,)) # 二维空数组(0行3列) empty_2d = np.empty(shape=(0, 3))
- 定义明确类型的空一维数组:
二、np.shape(data) = (151234,)的含义
这个结果绝对不是空数组:
- 形状
(N,)表示这是一个一维数组,数组内包含N个元素(这里就是151234个元素) - 真正的NumPy空数组,其shape应该是
(0,)(一维空数组)或者(0, M)(二维空数组,行数为0) - 你加载的5GB pickle数据集并非空数组,只是它是一维结构而已。如果感觉数据“空”,可能是数组元素本身是
None、np.nan这类空值,但数组本身是有元素数量的。你可以通过以下命令验证:- 查看总元素数:
data.size或len(data) - 查看前几个元素内容:
print(data[:5])
- 查看总元素数:
内容的提问来源于stack exchange,提问作者Jimbo
相关产品推荐
相关产品推荐

