Python中Numpy库使用总结

Python中Numpy库使用总结


  • Numpy库的使用
    Numpy库和Pandas库均是python机器学习中不可缺少的一个包,其重要性我就不详细说明,直接上干活

Numpy库的使用

Numpy库的安装
  1. windown中提前安装好python,并且配置本地环境,具体方法参照百度
  2. 检查是否安装好pip(pip是python下一个好基友)
  3. window下命令行直接 pip install numpy 就okay
矩阵的基本属性

在本文中,直接套用线性代数的中矩阵代替原文中Numpy array

  1. python下使用Numpy,首先需要引入numpy库

    import numpy as np
    
    # 以下效果相同
    
    import numpy
    
  2. python下Numpy元素的类型

    import numpy as np
    
    # arange函数是生成0-14的排列 
    
    test_numpy = np.arange(15).reshape(3, 5)
    print(type(test_numpy))
    
    # 输出的结果为 <type 'numpy.ndarray'>
    
  3. ndarray.ndim 函数,求解矩阵的维数

    import numpy as np
    
    test_numpy = np.arange(15).reshape(3, 5)
    test_ndim = test_numpy.ndim
    print(test_ndim)
    
    # 输出的结果为 2
    
  4. ndarray.shape 函数,求解矩阵的规模,通常情况用元组表示每一维的大小,比如一个3*2的矩阵求解结果为(3,2)

    import numpy as np
    
    test_numpy = np.arange(15).reshapes(3, 5)
    print(type(test_numpy.shape))
    
    # 输出结果为 <type 'tuple'>
    
    print(test_numpy.shape)
    
    # 输出结果为 (3, 5) Tip:有些版本会输出(3L, 5L)
    
  5. ndarray.size 函数,返回矩阵元素的个数,等于ndarray.shape元素之积

    import numpy as np
    
    test_numpy = np.arange(15).reshapes(3, 5)
    print(test_numpy.size)
    
    # 输出结果为 15
    
  6. ndarray.dtype 函数,返回矩阵中元素的类型,类型可以是自己创建的类型或者是标准的python类型,在Numpy中也有自己的类型,有numpy.int32, numpy.int16, numpy.float64等等类型

    import numpy as np
    
    test_numpy = np.arange(15).reshapes(3, 5)
    print(test_numpy.dtype)
    
    # 输出结果为 dtype('int32')
    
    print(test_numpy.dtype.name)
    
    # 输出结果为 int32
    
  7. ndarray.itemsize函数,返回矩阵中每个元素所占的字节数,如同C语言中的sizeof(int)所占4个字节,ndarray.dtype表示当前元素的类型为int32,因此占32/8=4个字节

import numpy as np

test_numpy = np.arange(15).reshapes(3, 5)
print(test_numpy.itemsize)
# 输出结果为 4
  1. ndarray.data 返回矩阵在内存中的具体信息
import numpy as np

test_numpy = np.arange(15).reshapes(3, 5)
print(test_numpy)
# 输出结果 <read-write buffer for 0x0000000006778F30, size 60, offset 0 at 0x00000000061ADC38> 表明在内存中的具体情况
矩阵的创建
  1. 利用np.array()创建一个矩阵,注意array()里面是一个python列表或者元组
import numpy as np

test_numpy = np.array([1, 2, 3, 4])
# 此种方法是错误的 np.array(1, 2, 3, 4)

test_numpy_two = np.array([(1, 2, 3), (4, 5, 6)])
  1. 利用np.array()创建指定复杂联系元素
import numpy as np

test_numpy = np.array([1, 2], [3, 4], dtype=complex)

# test_numpy为 array([[1.+0.j, 2.+0.j], [3.+0.j, 4.+0.j]])
  1. 利用np.zeros()创建矩阵,利用np.zeros时一般矩阵的大小已知,但是内容未知,我们将其所有元素初始化为0
import numpy as np

test_numpy_1 = np.zeros((3, 4))
# 注意此处传入的参数是(3, 4),而非3,4

test_numpy_2 = np.zeros((3, 4), dtype=np.int32)
  1. 利用np.ones()创建矩阵,使用np.ones条件和np.zeros一样,不过将其所有元素初始化为1
 import numpy as np

 test_numpy_1 = np.zeros((3, 4))
 test_numpy_2 = np.zeros((3, 4), dtype=np.int32)
  1. 利用np.arange()创建矩阵,np.arange()功能和python中的range()函数一样,生成一个序列。
import numpy as np

test_numpy = np.arange(0, 15, 1)
  1. 利用np.linspace()创建矩阵,np.linspace()的作用和np.arange()类似,但是略有不同,np.arange(begin, end, step)中指定起始区间,和步长,np.linspace(begin, end, num)中指定起始起始区间和需要取的数字。具体细节可以在编程中体会
import numpy as np

test_numpy = np.linspace(0, 15, 16)
  1. 其他函数同样可以创建矩阵,这里不一一介绍,如zeros_like, ones_like, empty, empty_like, numpy.random.rand, numpy.random.randn, fromfunction, fromfile
矩阵的打印
  • 矩阵的打印,直接使用python中print()函数即可
import numpy as np

numpy_test = np.arange(15)
print(numpy_test)
矩阵的基本运算

矩阵的基本运算和线性代数里面矩阵的运算一致,不明白的建议翻阅《线性代数》一书

  • 矩阵的加法、减法和数乘
import numpy as np

test_numpy_a = np.array([5, 4, 3, 2])
test_numpy_b = np.array([4, 3, 2, 1])

# 矩阵的加法
test_numpy_c = test_numpy_a + test_numpy_b
# 此时test_numpy_c为 array([9, 7, 5, 3])

# 矩阵的减法
test_numpy_d = test_numpy_a - test_numpy_b
# 此时test_numpy_d为 array([1, 1, 1, 1])

#矩阵的数乘
test_numpy_e = test_numpy_a * 2
# 此时的test_numpy_c为 array([10, 8, 6, 4])
  • 7
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NumPy是一个功能强大的Python,主要用于对多维数组执行计算。它的使用可以使代码更简洁,并且具有一些特性,如向量化操作,可以加速计算过程。在NumPy,最重要的数据结构是NumPy数组,它可以通过不同的方法进行创建。 创建一维NumPy数组的常见方法有以下几种: 1. 使用np.array()函数,传入一个列表作为参数,例如: my_array = np.array([1, 2, 3, 4, 5]) 2. 使用np.array()函数,传入一个元组作为参数,例如: my_array2 = np.array((0, 1, 2, 3, 4)) 3. 使用np.arange()函数,该函数类似于内置函数range(),返回一个数组而不是列表,例如: my_array3 = np.arange(5) 4. 使用np.linspace()函数,该函数返回一个包含指定数量元素的数组,而不是指定步长(step),例如: my_array4 = np.linspace(0, 2*np.pi, 5) 这些方法可以用来创建不同类型的一维NumPy数组。通过打印数组可以查看创建的结果。在使用NumPy之前,需要导入NumPy,可以使用import numpy as np语句进行导入。 NumPy还可以用于执行各种数学任务,如数值积分、微分、内插、外推等,以及快速处理图像等。因此,在机器学习NumPy常被用于存储训练数据和机器学习模型的参数,以及进行简单和快速的计算。 总结起来,NumPy提供了丰富的功能和优秀的函数,使得在Python进行数值计算变得更加方便和高效。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python科学计算的基本包-Python科学计算基本包Numpy使用的教程.pdf](https://download.csdn.net/download/qq_43934844/87898289)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [numpy基础语法整理](https://blog.csdn.net/weixin_61890283/article/details/124596265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值