Numpy基本用法

一、一维数组

1、数组与列表的异同

数组所包含的元素必须为同类型;列表可以包含不同类型的数据,例如list=[1, 2, 'shang']

2、数组的创建方式

   (1) list=[1,2,3]    arr=np.array(list)   #通过列表创建数组

   (2) arr=np.zeros(3,float)                 #创建一个包含3个float型0.0的一维数组

   (3) arr=np.ones(3,float)                  #创建一个包含3个float型3.0的一维数组

   (4) arr=np.empty(3)   arr.fill(2.2)    #先创建一个空数组,通过fill函数填充3个值均为2.2的元素

 

二、多维数组

1、arr=np.arange(4)             #结果为array([0,1,2,3])

     arr.reshape(2,2)               #结果为([[0,1],

                                                                  [2,3]])

2、数组的大小,类型等

     arr.dtype       arr.size     arr.ndim     arr.shape      arr.nbytes     arr.T#转置

    arr.min()        arr.max()    arr.mean()     arr.sum()    arr.prod()#乘积    arr.std()#标准差   arr.var()#方差

    arr.sum(axis=1)       #按行求和,结果为列表形式存储,个数为列的个数

    arr.sum(axis=0)      #按列求和,个数为行数

 

三、 数组的运算

       一般来说,数组的所有操作都是以元素对应的方式实现的,即同时对应于数组的所有元素,且一一对应。

     arr1=np.arange(4)

     arr2=np.arange(10,14)

     print(arr1  ,  '+'  ,  arr2  ,  '=' , arr1+arr2)

结果为:[0,1,2,3]+[10,11,12,13]=[10,12,14,16]

 

 

 

 

 

 

 

 

 

 

 

 

### 关于 NumPy基本用法 #### 创建数组 NumPy 中的核心对象是 `ndarray`,即 n 维数组。可以通过多种方式创建这种类型的数组: ```python import numpy as np # 使用 Python 列表来构建一维数组 arr_from_list = np.array([1, 2, 3]) # 构建二维数组 two_dim_arr = np.array([[1, 2], [3, 4]]) # 创建全零矩阵 zeros_matrix = np.zeros((3, 4)) # 创建单位阵 identity_matrix = np.eye(3) # 创建指定范围内的等间距数值序列 range_array = np.arange(start=0, stop=10, step=2) ``` #### 数组属性 了解如何查询和设置数组的一些重要特性对于有效利用这些数据结构至关重要。 - 形状 (shape):表示各维度长度的元组。 - 秩 (rank) 或者轴的数量 (`ndim`) :指明有多少个维度。 - 大小 (size) : 所有元素总数目。 - 数据类型 (`dtype`) : 存储的数据种类。 ```python print(f"Array shape: {two_dim_arr.shape}") print(f"Number of dimensions: {two_dim_arr.ndim}") print(f"Total number of elements: {two_dim_arr.size}") print(f"Data type of each element: {two_dim_arr.dtype}") ``` #### 基础操作 执行简单的数学运算以及统计分析也是 NumPy 功能的一部分。 ```python # 对两个相同尺寸的一维向量做四则运算 vector_a = np.array([7, 8]) vector_b = np.array([9, 10]) addition_result = vector_a + vector_b # 加法 subtraction_result = vector_a - vector_b # 减法 multiplication_result = vector_a * vector_b # 逐元素相乘 division_result = vector_a / vector_b # 浮点除法 # 获取最大值最小值及其位置 max_value_index = two_dim_arr.argmax() min_value_along_axis_0 = two_dim_arr.min(axis=0)[^1] # 广播机制允许不同形状之间的计算 scalar_addition = two_dim_arr + 5 # 将常数加到每一个元素上去 broadcasted_multiplication = two_dim_arr * [[2]] # 自动扩展较小的操作数以匹配较大者的形状 ``` #### 文件 I/O 和内存映射 当处理非常大的数据集时,可能无法一次性加载全部内容到 RAM 中;这时就可以考虑使用内存映射技术。 ```python # 写入二进制文件并读取回来 np.save('my_file.npy', range_array) loaded_data = np.load('my_file.npy') # 如果有一个很大的 CSV 文件想要部分加载的话... data_memmap = np.memmap('large_dataset.dat', dtype='float32', mode='w+', shape=(1e6,)) data_memmap[:] = np.random.rand(int(1e6))[:] del data_memmap # flush changes to disk and close the file existing_mmap = np.memmap('large_dataset.dat', dtype='float32', mode='r', shape=(1e6,))[^4] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值