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从青铜到王者第一篇的主要内容,如果未能解决你的问题,请参考以下文章