【Numpy从青铜到王者】第一篇

大家好我是J哥,今天我们学习numpy(还会继续跟新):

numpy是python 数据分析大家族成员之一:

numpy 是数据结构基础

废话不多说,直接代码演示:

import numpy as np
from numpy.linalg import *

'''python 数据分析大家族:

numpy :数据结构基础

scipy : 具有强大的科学计算方法(矩阵分析、信号分析、数理分析...)

matplotlib : 丰富的可视化套件

pandas : 基础数据分析套件

scikit-learn : 强大的数据分析建模库

keras : 人工神经网络
'''


def main():
    lst = [[1, 3, 5], [2, 4, 6]]
    print(type(lst))
    np_lst = np.array(lst)
    print(type(np_lst))
    print(np_lst)
    np_lst = np.array(lst, dtype=np.float)
    # np 的数据类型 bool,int,int8,int16,int32,int64,int128,uint8,uint16,uint32,uint64,uint128,
    # float,float16/32/64,aomplex64/128

    # 属性:
    print(np_lst.shape)  # 指明数据的形状,几行几列
    print(np_lst.ndim)
    print(np_lst.dtype)  # 数据类型
    print(np_lst.itemsize)  # 指的是 np.array中每个元素的大小  (8字节)
    print(np_lst.size)  # 查看字节数
    # 数组:
    print(np.zeros([2, 4]))  # 定义二行四列的 空数组(就是数组值为0)
    print(np.ones([3, 5]))  # 定义三行五列的 元素为1的二维数组
    print(np.random.rand(2, 4))  # 随机数 但是从0-1中选取
    print(np.random.rand())  # 选取出一个随机数
    print(np.random.randint(1, 10))  # 设定了取值范围 1-10 默认取一个随机数
    print(np.random.randn(2, 4))  # 设定 两行四列标准正态的随机数
    print(np.random.choice([10, 20, 30]))  # 指定随机数的值 从其中选取
    print(np.random.beta(1, 10, 100))  # 1-10中选取100个
    # np的操作
    print(np.arange(1, 11).reshape([2, 5]))  # arange定义一个 1-10 的等差数列 reshape 设定两行五列的二维数组
    lst = np.arange(1, 11).reshape([2, 5])
    print(np.exp(lst))  # 自然指数
    print(np.exp2(lst))  # 自然指数的平方
    print('sqrt')
    print(np.sqrt(lst))  # 开方
    print('三角函数')
    print(np.sin(lst))  # 三角函数
    print('对数')
    print(np.log(lst))  # 对数
    print(np.cos(lst))  # 三角函数
    # 求和:
    lst = np.array([[[2, 4, 6, 5],
                     [3, 6, 8, 5],
                     [9, 5, 2, 1]],
                    [[2, 4, 9, 2],
                     [2, 5, 3, 6],
                     [11, 4, 2, 9]]
                    ])

    print(lst.sum(axis=0))  # axis = 0 最外层
    print(lst.sum(axis=1))  # axis = 1 每列进行相加
    print(lst.max(axis=1))  # 每列相加和的最大值
    print(lst.min(axis=1))  # 每列相加和的最小值
    # 数组相加 同理 相减、相除、相乘 都可以
    lst1 = np.array([10, 20, 30, 40])
    lst2 = np.array([4, 3, 2, 1])
    print(lst1 + lst2)
    print(np.dot(lst1.reshape([2, 2]), lst2.reshape([2, 2])))  # 矩阵乘法
    # 追加 变成一个数组
    print(np.concatenate((lst1, lst2), axis=0))
    print(np.vstack((lst1, lst2)))
    print(np.hstack((lst1, lst2)))

    print(np.eye(3))


if __name__ == '__main__':
    main()

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itLaity

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值