python科学计算三剑客_机器学习三剑客之Numpy
NumpyNumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!
Numpy简单创建数组import numpy as np# 创建简单的列表a = [1, 2, 3, 4]# 将列表转换为数组b = np.array(b)
Numpy查看数组属性
数组元素个数b.size
数组形状b.shape
数组维度b.ndim
数组元素类型b.dtype
快速创建N维数组的api函数创建10行10列的数值为浮点1的矩阵array_one = np.ones([10, 10])创建10行10列的数值为浮点0的矩阵array_zero = np.zeros([10, 10])从现有的数据创建数组array(深拷贝)
asarray(浅拷贝)
Numpy创建随机数组np.random均匀分布np.random.rand(10, 10)创建指定形状(示例为10行10列)的数组(范围在0至1之间)
np.random.uniform(0, 100)创建指定范围内的一个数
np.random.randint(0, 100) 创建指定范围内的一个整数
正态分布
给定均值/标准差/维度的正态分布np.random.normal(1.75, 0.1, (2, 3))数组的索引, 切片# 正态生成4行5列的二维数组arr = np.random.normal(1.75, 0.1, (4, 5))
print(arr)# 截取第1至2行的第2至3列(从第0行算起)after_arr = arr[1:3, 2:4]
print(after_arr)
数组索引改变数组形状(要求前后元素个数匹配)
改变数组形状print("reshape函数的使用!")
one_20 = np.ones([20])
print("-->1行20列
one_4_5 = one_20.reshape([4, 5])
print("-->4行5列
Numpy计算(重要)
条件运算
原始数据
条件判断import numpy as np
stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
stus_score > 80
三目运算import numpy as np
stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
np.where(stus_score
统计运算指定轴最大值amax(参数1: 数组; 参数2: axis=0/1; 0表示列1表示行)
求最大值stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])# 求每一列的最大值(0表示列)print("每一列的最大值为:")
result = np.amax(stus_score, axis=0)
print(result)
print("每一行的最大值为:")
result = np.amax(stus_score, axis=1)
print(result)指定轴最小值amin
求最小值stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])# 求每一行的最小值(0表示列)print("每一列的最小值为:")
result = np.amin(stus_score, axis=0)
print(result)# 求每一行的最小值(1表示行)print("每一行的最小值为:")
result = np.amin(stus_score, axis=1)
print(result)指定轴平均值mean
求平均值stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])# 求每一行的平均值(0表示列)print("每一列的平均值:")
result = np.mean(stus_score, axis=0)
print(result)# 求每一行的平均值(1表示行)print("每一行的平均值:")
result = np.mean(stus_score, axis=1)
print(result)方差std
求方差stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])# 求每一行的方差(0表示列)print("每一列的方差:")
result = np.std(stus_score, axis=0)
print(result)# 求每一行的方差(1表示行)print("每一行的方差:")
result = np.std(stus_score, axis=1)
print(result)
数组运算数组与数的运算
加法stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
print("加分前:")
print(stus_score)# 为所有平时成绩都加5分stus_score[:, 0] = stus_score[:, 0]+5print("加分后:")
print(stus_score)
乘法stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
print("减半前:")
print(stus_score)# 平时成绩减半stus_score[:, 0] = stus_score[:, 0]*0.5print("减半后:")
print(stus_score)数组间也支持加减乘除运算,但基本用不到
image.pnga = np.array([1, 2, 3, 4])
b = np.array([10, 20, 30, 40])
c = a + b
d = a - b
e = a * b
f = a / b
print("a+b为", c)
print("a-b为", d)
print("a*b为", e)
print("a/b为", f)
矩阵运算np.dot()(非常重要)
根据权重计算成绩计算规则(M行, N列) * (N行, Z列) = (M行, Z列)
矩阵计算总成绩stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])# 平时成绩占40% 期末成绩占60%, 计算结果q = np.array([[0.4], [0.6]])
result = np.dot(stus_score, q)
print("最终结果为:")
print(result)矩阵拼接矩阵垂直拼接
垂直拼接print("v1为:")
v1 = [[0, 1, 2, 3, 4, 5],
[6, 7, 8, 9, 10, 11]]
print(v1)
print("v2为:")
v2 = [[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23]]
print(v2)# 垂直拼接result = np.vstack((v1, v2))
print("v1和v2垂直拼接的结果为")
print(result)矩阵水平拼接
水平拼接print("v1为:")
v1 = [[0, 1, 2, 3, 4, 5],
[6, 7, 8, 9, 10, 11]]
print(v1)
print("v2为:")
v2 = [[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23]]
print(v2)# 垂直拼接result = np.hstack((v1, v2))
print("v1和v2水平拼接的结果为")
print(result)
Numpy读取数据np.genfromtxt
csv文件以逗号分隔数据
读取csv格式的文件如果数值据有无法识别的值出现,会以nan显示,nan相当于np.nan,为float类型.
python科学计算三剑客_机器学习三剑客之Numpy相关推荐
- python 科学计算设计_《Python科学计算-(第2版)》怎么样_目录_pdf在线阅读 - 课课家教育...
第1章 Python科学计算环境的安装与简介 1 1.1 Python简介 1 1.1.1 Python 2还是Python 3 1 1.1.2 开发环境 2 1.1.3 集成开发环境(IDE) 5 ...
- python科学计算试题_中国大学Python科学计算单元测试答案
中国大学Python科学计算单元测试答案 图示结构的超静定次数为().A:6次B:4次C:5次D:3次 高尔夫球运动易导致肱骨外上髁炎.A:对B:错 餐厅地面铺面材料一般不建议使用()A:瓷砖B:大理 ...
- python 科学计算设计_用Python做科学计算 高清晰PDF
用Python做科学计算一书介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序 ...
- python 科学计算设计_用Python做科学计算 pdf版
本书将介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序结合:如何编写声音.图 ...
- AI算法工程师 | 03人工智能基础-Python科学计算和可视化(三)Pandas
文章目录 Python 之 数据处理分析模块 Pandas 一.Pandas 开发环境搭建 二.Pandas 数据类型 1. Series 对象创建 2. DataFrame 对象创建 3. 获取 S ...
- python科学计算三剑客_1-python数据分析-数据分析介绍、数据分析三剑客之NumPy
数据分析三剑客 numpy pandas(重点) matplotlib numpy模块 NumPy(Numerical Python) 是 Python 语言中做科学计算的基础库.侧重在于数值计算,也 ...
- Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例
Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例 文章目录 Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例 Seaborn 学习目标 6.1 Se ...
- numpy 创建加一行_数据科学|可视化图解Python科学计算包Numpy
文章申明 文章作者:梁斌伟 责任编辑:郭德真 微信编辑:玖蓁 本文转载自公众号 实战统计学 (ID:statrcn) 原文链接:可视化图解Python科学计算包NumPy 作者:梁斌伟 编者按: 你真 ...
- Python科学计算库核心知识点总结_代码篇(ML/DL依赖语法)
Python科学计算库核心知识点总结_代码篇(ML/DL依赖语法) ...
最新文章
- input 事件_14. 教你零基础搭建小程序:小程序事件绑定(1)
- PHP算法 《树形结构》 之 伸展树(1) - 基本概念
- Beyond Compare 3 设置自动换行
- python清理垃圾_用Python自动清理系统垃圾,再也不用360安全卫士了
- (转)Spring Boot (十):邮件服务
- C++中函数指针数组的使用
- jdk中java程序调试_jcmd:JDK14中的调试神器
- ICCAP2016如何调用ads的仿真器hpeesofsim
- 智工教育:公务员考试这些知识点你会背了吗?
- C++ Primer 5th 源代码使用说明
- 数据同步工具:Canal
- 安卓手机root推荐,导出安卓分区镜像
- 插值方法: 拉格朗日插值--逐步插值的自适应算法
- 虚拟贴图理论篇之Texture Filtering
- ipv6 华为交换机 路由配置_H3C Huawei 交换机 IPv6环境配置
- 前后端分离跨域上传图片代码
- C#项目之 GMap.net 标记点及 绘制多点之间的距离
- 维基解密说会帮科技公司解决漏洞 可后者并不买账
- ERP与电子商务整合乃大势所趋
- 计算机监控系统应用前景和发展趋势,计算机控制技术的现状及发展趋势
热门文章
- matplotlib绘图_使用matplotlib库绘图
- python mysql操作封装库_python封装mysq操作,进行数据库的增删改
- 美团Android自动化之旅—生成渠道包
- Java多线程系列(七):并发容器的原理,7大并发容器详解、及使用场景
- DeepMind最新研究:如何将「大语言模型」 训练到最优?
- LSTM(序列标注,自实现)
- SpringBoot整合Dubbo+Zookeeper进行分布式搭建系统
- MySQL 练习 创建表格2
- SpringBoot无法找到加载类 ,应用Feign其他服务无法package两类问题
- windows定时计划备份MySql