numpy数组使用总结

本文总结了NumPy数组的创建、数据类型指定、形状修改、计算、读取、转置、布尔索引、拼接、行列交换及常用统计函数等核心操作。通过实例展示了数组在加减乘除、形状调整、数据类型转换等方面的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.数组的创建:

a = np.array([1,2,3,4,5])
b = np.array(range(5)) #b=[0,1,2,3,4]
b = np.array(range(1,5,2)) #1到5(不包括5),跨度为2,b=[1,3]
c = np.arange(5) #c=[0,1,2,3,4]
c = np.arange(5,1,-1) #5到1(不包括1),跨度为-1,c=[5,4,3,2]
a = np.array([i for i in range(0,5,1)]) # a = [0,1,2,3,4] 
a = np.array([random.randint(20,30) for i in range(5)]) # a在20-30中随机取5个值
t = np.arange(0., 5., 0.2) #小数

数组类型:type(a) #numpy.ndarray

数据类型:a.dtype

2.创建数组时指定数据类型:

c = np.arange(10,dtype = "float") #可用f代替

3.调整数据类型:

d = c.astype("int64") #可用i8代替,将类型转换为int64

4.保留小数位数:

t1 = np.array([random.random() for i in range(10)]) #生成10个随机小数 
t2 = np.round(t1,3) #取3位小数

    

### 将NumPy数组转换为列表的方法 在Python中,可以通过`tolist()`函数将NumPy数组轻松转换为标准的Python列表。此方法适用于各种维度的NumPy数组。 #### 一维NumPy数组转换为列表 对于一维NumPy数组,可以直接调用`.tolist()`方法完成转换: ```python import numpy as np # 创建一维NumPy数组 arr = np.array([1, 2, 3]) print(f'NumPy Array:\n{arr}') # 转换为列表 list1 = arr.tolist() print(f'List: {list1}') ``` 上述代码展示了如何将一维NumPy数组转换为列表[^1]。 #### 多维NumPy数组转换为嵌套列表 对于多维NumPy数组,同样可以使用`.tolist()`方法将其转换为嵌套列表结构: ```python import numpy as np # 创建二维NumPy数组 arr_2d = np.array([[1, 2], [3, 4]]) print(f'2D NumPy Array:\n{arr_2d}') # 转换为嵌套列表 nested_list = arr_2d.tolist() print(f'Nested List: {nested_list}') ``` 该方法能够保持原始数组的形状和层次结构不变。 --- 如果需要从其他数据类型(如字符串或C类型的数组)转换为NumPy数组后再进一步转化为列表,则可参考以下扩展方法: #### 字符串表示的数组转换为NumPy数组并转为列表 当输入是一段字符串形式的数组时,可以先解析字符串再创建NumPy数组,最后调用`.tolist()`方法实现转换: ```python import numpy as np s = '[0 1 2 3]' a = np.fromstring(s[1:-1], dtype=np.int, sep=' ') converted_list = a.tolist() print(f'String Representation: {s}') print(f'Converted List: {converted_list}') ``` 这里利用了`np.fromstring`来处理字符串格式的数据[^2]。 #### C类型数组转换为NumPy数组并转为列表 借助`ctypes`模块可以从C语言风格的数组构建NumPy对象,并最终得到对应的列表表示: ```python from ctypes import * import numpy as np # 假设有一个C字节数组 my_cbyte_array = (c_uint8 * 5)(1, 2, 3, 4, 5) # 使用frombuffer将C数组转换为NumPy数组 my_nparray = np.frombuffer(my_cbyte_array, dtype=np.uint8) # 继续转换为列表 final_list = my_nparray.tolist() print(f'C Byte Array Converted to List: {final_list}') ``` 这段代码说明了如何通过`numpy.frombuffer`结合`tolist()`操作达成目标[^3]。 --- ### 总结 无论是简单的单维还是复杂的多维情况,亦或是特殊场景下的间接转化需求,都可以依赖于NumPy提供的高效工具集完成向Python原生列表的形式转变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值