np.array()函数

本文介绍了NumPy库中创建数组的基本方法,包括设置数据类型和结构。从简单的整数数组到复杂的结构化数组,展示了如何通过`numpy.array()`函数初始化不同类型的数组。示例中演示了如何改变数组元素的默认数据类型,以及创建包含标签和不同数据类型的高级数组。此外,还创建了一个用于模拟雨滴数据的结构化数组,包含了位置、大小、增长速率和颜色等信息。
摘要由CSDN通过智能技术生成

函数调用方法:

numpy.array(object, dtype=None)

各个参数意义:
object:创建的数组的对象,可以为单个值,列表,元胞等。
dtype:创建数组中的数据类型。
返回值:给定对象的数组。

普通用法:

import numpy as np

array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

print("数组array的值为: ")
print(array)
print("数组array的默认类型为: ")
print(array.dtype)
"""
result:
数组array的值为: 
[0 1 2 3 4 5 6 7 8 9]
数组array的默认类型为: 
int32
"""

我们可以看到,我们成功创建了给定元素的数组,并且创建数组的默认类型为np.int32类型。

进阶用法:

import numpy as np

array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=np.float32)

print("数组array的值为: ")
print(array)
print("数组array的默认类型为: ")
print(array.dtype)
"""
result:
数组array的值为: 
[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
数组array的默认类型为: 
float32
"""

我们成功创建了给定元素的数组,并且创建数组的默认类型为np.float32类型。

更高级的用法:

import numpy as np

array = np.array((1, 2), dtype=[('x', np.int8), ('y', np.int16)])

print("数组array的值为: ")
print(array)
print("数组array的默认类型为: ")
print(array.dtype)
print("数组array中对应x标签元素为: ")
print(array['x'])
print("数组array中对应y标签元素为: ")
print(array['y'])
"""
result:
数组array的值为: 
(1, 2)
数组array的默认类型为: 
[('x', 'i1'), ('y', '<i2')]
数组array中对应x标签元素为: 
1
数组array中对应y标签元素为: 
2
"""

我们可以看到,我们在创建数组的同时,可以设定其中单个元素的数据类型,这里的'i1'指代的便是np.int8类型,'i2'指代的是'np.int16'类型。读者可以自行尝试,这里不做过多讨论,后续也许会补充说明。

最高级的用法:

import numpy as np

# Create rain data
n_drops = 10

rain_drops = np.zeros(n_drops, dtype=[('position', float, (2,)),
                                      ('size', float),
                                      ('growth', float),
                                      ('color', float, (4,))])

# Initialize the raindrops in random positions and with
# random growth rates.
rain_drops['position'] = np.random.uniform(0, 1, (n_drops, 2))
rain_drops['growth'] = np.random.uniform(50, 200, n_drops)

print(rain_drops)
"""
result:
[([0.70284885, 0.03590322], 0., 176.4511602 , [0., 0., 0., 0.])
 ([0.60838294, 0.49185854], 0.,  60.51037667, [0., 0., 0., 0.])
 ([0.86525398, 0.65607663], 0., 168.00795695, [0., 0., 0., 0.])
 ([0.25812877, 0.14484747], 0.,  80.17753717, [0., 0., 0., 0.])
 ([0.66021716, 0.90449213], 0., 121.94125106, [0., 0., 0., 0.])
 ([0.88306332, 0.51074725], 0.,  92.4377108 , [0., 0., 0., 0.])
 ([0.68916433, 0.89543162], 0.,  90.77596431, [0., 0., 0., 0.])
 ([0.7105655 , 0.68628326], 0., 144.88783652, [0., 0., 0., 0.])
 ([0.6894679 , 0.90203559], 0., 167.40736266, [0., 0., 0., 0.])
 ([0.92558218, 0.34232054], 0.,  93.48654986, [0., 0., 0., 0.])]
"""

码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~

  • 216
    点赞
  • 327
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤奋的大熊猫

你的鼓励将是我写作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值