二、ndarray 的属性、数据类型

1、ndarray 的属性

(1)ndim 数组轴(维度)的个数,轴的个数被称作秩

(2)shape 数组的维度, 例如一个2排3列的矩阵,它的shape属性将是(2,3),这个元组的长度显然是秩,即维度或者ndim属性

(3)size 数组元素的总个数,等于shape属性中元组元素的乘积。

(4)dtype 一个用来描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型。不过NumPy提供它自己的数据类型。

(5)itemsize 数组中每个元素的字节大小。例如,一个元素类型为float64的数组itemsiz属性值为8(=64/8),又如,一个元素类型为complex32的数组item属性为4(=32/8).


#定义一个2*3*3*2的四维数组,分别求其纬度、元素个数、数据类型、元素的字节大小,并改变其形状

arr=np.array([

    [

        [[1,2],[42,51],[75,88]],

        [[11,23],[44,85],[97,80]],

        [[1,2],[4,5],[7,8]]

    ],

    [

        [[13,25],[47,58],[79,81]],

        [[12,23],[44,55],[76,87]],

        [[19,20],[41,52],[73,84]]

    ]

])

# print(arr)

print()

# 数组的纬度

print(arr.ndim)

print()

# 数组的大小:2*3*3*2=36

print(arr.size)

print()

# 数据类型

print(arr.dtype)

print()

# 每个元素占有的字节数:4*8=32,是int32类型的,共占4个字节,每个字节8位,共32位。

print(arr.itemsize)

print()



# shape改变形状

# 改变其形状:2*3*3*2=i*j*k*l....如果为-1则让其自动扩展。

# 对于一个已经存在的ndarray数组对象而言,可以通过修改形状相关的参数/方法从而改变数组的形状。

#  直接修改数组ndarray的shape值, 要求修改后乘积不变。

#  直接使用reshape函数创建一个改变尺寸的新数组,原数组的shape保持不变,但是新数组和原数组共享一个内存空间,

# 也就是修改任何一个数组中的值都会对另外一个产生影响,另外要求新数组的元素个数和原数组一致。

#  当指定某一个轴为-1的时候,表示将根据数组元素的数量自动计算该轴的长度值。

print(arr.reshape(1,1,1,36))

print(arr.reshape(1,2,-1,9))



2、ndarray 数据类型

(1)创建numpy数组的时候可以通过属性dtype显示指定数据类型,如果不指定的情况下,numpy会自动推断出适合的数据类型, 所以一般不需要显示给定数据类型。

(2)如果需要更改一个已经存在的数组的数据类型,可以通过astype方法进行修改从而得到一个新数组。



a=np.array(["python","C语言","java"])

print(a)

a.dtype

a1=np.array(["python","C","java"],dtype='S8')

print(a1.dtype)



©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 基础篇NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(...
    oyan99阅读 10,568评论 0 18
  • 来源:NumPy Tutorial - TutorialsPoint 译者:飞龙 协议:CC BY-NC-SA 4...
    布客飞龙阅读 33,357评论 6 98
  • NumPy是Python中关于科学计算的一个类库,在这里简单介绍一下。 来源:https://docs.scipy...
    灰太狼_black阅读 5,019评论 0 5
  • 先决条件 在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutoria...
    舒map阅读 7,473评论 1 13
  • 一个人早年的诗作是这般乏意义,我们应该毕生期待和采集,如果可能,还要悠长的一生;然后,到晚年,或许可以写出十行好诗...
    四葉阅读 4,361评论 0 8

友情链接更多精彩内容