numpy-ndarray数据结构

dim count:表示这是一个二维数组,

dimensions:表示shape

strides:第一个参数代表行与行之间地址相差的字节数,a[0,0]与a[1,0]相差12个字节

              第二个参数表示同一行的元素之间地址相差的字节数,a[0,0]与a[0,1]相差4个字节

import numpy as ny

"""
dtype                    描述数组元素的类型
shape                    以tuple表示的数组形状
ndim                     数组的维度
size                     数组中元素的个数
itemsize                 数组中的元素在内存所占字节数
T                        数组的转置
flat                     返回一个数组的迭代器,对flat赋值将导致整个数组的元素被覆盖
nbytes                   数组占用的存储空间
reshape(…)              返回一个给定shape的数组的副本
resize(…)               返回给定shape的数组,原数组shape发生改变                    
flatten()/ravel()        返回展平数组,原数组不改变                    
astype(dtype)            返回指定元素类型的数组副本                 
fill()                   将数组元素全部设定为一个标量值                         
sum/Prod()               计算所有数组元素的和/积                   
mean()/var()/std()       返回数组元素的均值/方差/标准差                 
max()/min()/ptp()/median()返回数组元素的最大值/最小值/取值范围/中位数          
argmax()/argmin()         返回最大值/最小值的索引              
sort()                   对数组进行排序,axis指定排序的轴;kind指定排序算法,默认是快速排序                        
view()/copy()            view创造一个新的数组对象指向同一数据;copy是深复制                  
tolist()                 将数组完全转为列表,注意与直接使用list(array)的区别                         
compress()               返回满足条件的元素构成的数组                   

"""
# 这里我们用一个三维数组
a = ny.array([1, 2, 3, 4, 5, 6, 7, 8])
b = a.reshape((2, 2, 2))
print('b:', b)
print('b.strides:  ', b.strides)
"""
b: [[[1 2]
  [3 4]]

 [[5 6]
  [7 8]]]
b.strides:   (16, 8, 4)
16:b[0,0,0]-b[1,0,0](1-5)
8:b[0,0,0]-b[0,1,0](1-3)
4:b[0,0,0]-b[1,0,0](1-2)
"""

猜你喜欢

转载自blog.csdn.net/u014575047/article/details/81182501