Numpy从青铜到王者第一篇

Posted J哥。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

 

以上是关于Numpy从青铜到王者第一篇的主要内容,如果未能解决你的问题,请参考以下文章

Lua从青铜到王者基础篇第一篇:Lua初始教程和环境安装

C++从青铜到王者第一篇:C++入门

Linux从青铜到王者第一篇:Linux常见指令

Linux从青铜到王者第十一篇:Linux进程间信号第一篇

Scrapy从青铜到王者第一篇:Scrapy理解

Linux从青铜到王者第五篇:Linux进程概念第一篇