python下的numpy模块的常用方法(总结)

创建数组 

创建一维数组  

arr = np.array([1, 2, 3, 4])  ## 一维数组

创建二维数组

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

 

数组的属性

ndim  数组维度

shape 数组结构

shape[1] 或shape[0],查看数组列  行数

dtype  数组元素类型

size  数组个数

print('数组维度:', arr.ndim)  # 数组维度: 1
print('数组维度:', arr2.ndim)  # 数组维度: 2
print('数组结构:', arr.shape)  # 数组结构: (4,)
print('数组结构:', arr2.shape)  # 数组结构: (3, 4)
print('数组列数:', arr2.shape[1])  # 数组列数: 4
print('数组元素类型:', arr2.dtype)  # 数组元素类型:int32
print("元素个数:",arr2.size)   #元素个数: 12

重新设置数组

 arr2.shape = 4, 3 

常用的数组函数

1  arange

print(np.arange(0, 1, 0.1))   不包含终止值

2 linspace : 等差数列

print(np.linspace(0,10,11))   终止值是包含的  就是收尾都有
print(np.linspace(2,10,5))

3等比数列  logspace:
print(np.logspace(0,2,3))     起始值,终止值都是指数,默认底数base=10   指数形式10**0 到10**2 之间取 3 个数

全零数组
print(np.zeros((2,3)))
全1 数组
print(np.ones((4,5)))

 单位数组
print(np.eye(3))

对角数组
print(np.diag([1,2,3,4]))   传入的数对角线上的值

产生随机数

random.random

random.randint

random.randn

random.rand

print(np.random.random(100))  #生成0到1 之间的随机数(100个)
print('生成正太分布数组:\n',np.random.randn(10,10))  #传入的是多少行,多少列的矩阵
print('生成随机整数:\n',np.random.randint(2,10,size=[2,5]))  #每个数都是大于等于2 小于10 的   size类似于shape
print('生成服从均匀分布的随机数:\n',np.random.rand(10,5))  #均匀分布

 

### NumPy模块概述 NumPyPython中用于科学计算的核心库之一,提供了高性能的多维数组对象(`numpy.ndarray`),以及大量用于操作这些数组的函数[^1]。 ```python import numpy as np arr = np.array([1, 2, 3]) print(arr, type(arr)) ``` 上述代码展示了如何导入NumPy并创建一个简单的一维数组。这不仅限于此;还可以轻松构建更高维度的数组: ```python # 创建二维和三维的ndarray对象 two_d_arr = np.array([[1, 2, 3], [4, 5, 6]]) three_d_arr = np.array([ [[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]] ]) print(two_d_arr) print(three_d_arr) ``` ### 数组属性与操作 除了基本的创建外,理解一些常用的数组属性对于有效使用NumPy至关重要。例如,可以查看数组的转置、数据类型、元素数量、维度数目及其尺寸等特性[^4]。 #### 常见属性展示 | 属性 | 描述 | | --- | --- | | `T` | 高维数组的转置 | | `dtype` | 元素的数据类型 | | `size` | 总共含有的元素个数 | | `ndim` | 维度的数量 | | `shape` | 各维度上的长度 | ```python example_array = np.array([[1., 2.], [3., 4.]]) print(f"Transposed array:\n{example_array.T}") print(f"Dtype of elements: {example_array.dtype}") print(f"Total number of elements: {example_array.size}") print(f"Number of dimensions: {example_array.ndim}") print(f"Shape (dimensions): {example_array.shape}") ``` ### 数据访问与切片 类似于标准Python列表的操作方式,在NumPy中也可以通过索引来获取单个元素或执行切片来选取子集[^5]。 ```python a = np.arange(25) # 获取指定位置处的单一值 single_value_0_index = a[0] single_value_10th_index = a[10] # 利用切片提取连续部分 slice_from_10_to_20 = a[10:20] every_second_element_between_10_and_20 = a[10:20:2] reverse_slice_step_by_two = a[20:10:-2] print(single_value_0_index, single_value_10th_index, slice_from_10_to_20, every_second_element_between_10_and_20, reverse_slice_step_by_two) ``` ### 进一步探索资源 为了深入了解NumPy的功能和技术细节,建议查阅官方文档和其他权威资料[^3]。这里包含了关于该库最全面的信息源,包括但不限于最新的API更新、最佳实践指南等内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值