小白Python学习第一弹

本文介绍了Python中Numpy库的基础知识,强调了Numpy数组相比内置list在速度上的优势,并概述了Numpy进行数值运算的应用。

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

Python Numpy

Numpy底层是用C写的,所以ndarray(np.array)运行速度比内置的list快,但是不能装下太多的东西。

简单介绍数组

    np_list = np.array(lst, dtype=int)#设置数据类型
    print(type(np_list))#输出类型
    print(np_list.shape)#查看矩阵是几行几列
    print(np_list.ndim)#查看矩阵维度
    print(np_list.itemsize)#查看每个元素所占字节
    print(np_list.size)#查看一共包含多少元素
    #Rand 随机生成一个数
    print(np.random.rand())
    #Randint随机生成1到100的整数,生成5个
    print(np.random.randint(1, 100, 5))
    #Randn随机生成一个3*3的正态分布
    print(np.random.randn(3, 3))
    #Choice随机从数组中选取一个数
    print(np.random.choice([12, 22, 44, 333, 55]))
    #Distribute生成一个beta分布,生成20个数据
    print(np.random.beta(1, 5, 20))

运用numpy 的运算

    lst = np.arange(1, 11).reshape([2, -1])#将等差数列塑造成2行矩阵
    print(lst)
    print(np.exp(lst))#输出其exp
    print(np.exp2(lst))
    print(np.sqrt(lst))
    print(np.sin(lst))
    print(np.log10(lst))

    lst = np.array([[[1, 2, 3, 4],
                     [5, 6, 7, 8]],
                    [[9, 10, 11, 12],
                     [13, 14, 15, 16]],
                    [[17, 18, 19, 20],
                     [21, 22, 23, 24]]])#构成一个三维矩阵
    print(lst.sum(axis=0))#输出当系数为0的时候的和,为2*4
    print(lst.sum(axis=1))#输出当系数为1的时候的和,为3*4
    print(lst.sum(axis=2))#输出当系数为2的时候的和,为3*2
    print(lst.max(axis=0))#同上,只是判断的是最大值的数组构成的矩阵
    print(lst.min(axis=1))#同上,只是判断的是最小值的数组构成的矩阵

    lst1 = np.array([10, 20, 30, 40])
    lst2 = np.array([4, 3, 2, 1])
    #一系列的加减乘除
    print(lst1 + lst2)
    print(lst1 - lst2)
    print(lst1 / lst2)
    print(lst1 * lst2)
    print(lst1**2)
    print(np.dot(lst1.reshape([2, 2]), lst2.reshape([2, 2])))#进行矩阵的点乘
    print(np.concatenate((lst1, lst2), axis=0))#显示出一个单排的矩阵,axis最好是默认,形成一行
    print(np.vstack((lst1, lst2)))#形成2行矩阵
    print(np.hstack((lst1, lst2)))#形成单独一行矩阵
    print(np.split(lst2, 2))将矩阵分割成两个
线性方程
     print(np.eye(3))#获取单位矩阵
    lst = np.array([[1, 2],
                   [3, 4]])
    #求矩阵的逆
    print(inv(lst))
    #转置
    print(lst.transpose())
    #求行列式
    print(det(lst))
    #特征值和特征向量
    print(eig(lst))
    y = np.array([[5], [7]])
    print(solve(lst, y))#已知一个矩阵和最后矩阵的解,求运算过程中的另一个矩阵值

#生成多元一次函数
    print(np.poly1d([2, 1, 3]))


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值