python自学成才之路 numpy 基础
时间:2022-07-23
本文章向大家介绍python自学成才之路 numpy 基础,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
文章目录
本文的目的是了解numpy以及numpy的一些基本操作
创建numpy
1.直接使用np.array传入python数组的方式创建
import numpy as np
my_array = np.array([1, 2, 3, 4, 5])
print(my_array)
array = [1,2,3,4,5,6]
my_array2 = np.array(array)
print(my_array2)
[1 2 3 4 5]
[1 2 3 4 5 6]
2.使用np自带的函数来创建
2.1 ones函数 创建元素都是1的np数组
my_array = np.ones((5))
print(my_array)
[1. 1. 1. 1. 1.]
2.2 zeros函数 创建元素都是0的np数组
my_array = np.zeros((5))
print(my_array)
[0. 0. 0. 0. 0.]
2.3random函数 创建随机数组
my_array = np.random.random((5))
print(my_array)
[0.51508462 0.8339307 0.7502982 0.47801579 0.98034439]
查看numpy
1.使用shape函数查看np数组形状
my_array = np.ones((5))
print(my_array.shape)
my_array = np.ones((5,3))
print(my_array.shape)
my_array = np.ones((5,3,2))
print(my_array.shape)
(5,)
(5, 3)
(5, 3, 2)
使用shape函数得到的数组形状是一个元组,前面创建的都是一维数组,看起来很直观,那这种多维数组看起来是什么样子呢?
1.1二维数组
my_array = np.ones((3,2))
print(my_array)
[[1. 1.]
[1. 1.]
[1. 1.]]
这个二维数组就是一个大的数组里面包含三个小的有两个元素的一维数组
1.2 三维数组
my_array = np.ones((5,3,2))
print(my_array)
[[[1. 1.]
[1. 1.]
[1. 1.]]
[[1. 1.]
[1. 1.]
[1. 1.]]
[[1. 1.]
[1. 1.]
[1. 1.]]
[[1. 1.]
[1. 1.]
[1. 1.]]
[[1. 1.]
[1. 1.]
[1. 1.]]]
这个三维数组就是一个大的数组里面包含五个(3,2)的二维数组
1.3 多维数组
my_array = np.ones((n1,n2,n3,n4,…)) 以此类推,更高维的np数组其实就是一个大的数组中包含n1个(n2,n3,n4,…)多维数组
2.获取np数组中的某个元素
my_array = np.array([
[[1,2,3],[4,5,6]],
[[7,8,9],[10,11,12]],
[[13,14,15],[16,17,18]]
])
print(my_array.shape)
(3, 2, 3)
获取16这个元素,他在最外层的第三个元素里,第二层的第二个元素里,最后一层的第一个元素里,所以位置就是[2,1,0],numpy中数组下标也是从0开始的。
修改numpy
将上面的16修改成17
my_array[2,1,0] = 17
my_array[2,1,0]
17
基本运算
numpy数组之间也可以做加减乘除运算,但是前提是,这些运算的数组形状必须一样。
my_array = np.array([
[[1,2,3],[4,5,6]],
[[7,8,9],[10,11,12]],
[[13,14,15],[16,17,18]]
])
my_array2 = np.array([
[[1,2,3],[4,5,6]],
[[7,8,9],[10,11,12]],
[[13,14,15],[16,17,18]]
])
# 加法运算
print(my_array + my_array2)
[[[ 2 4 6]
[ 8 10 12]]
[[14 16 18]
[20 22 24]]
[[26 28 30]
[32 34 36]]]
# 减法运算
print(my_array - my_array2)
[[[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]]]
# 乘法运算
print(my_array * my_array2)
[[[ 1 4 9]
[ 16 25 36]]
[[ 49 64 81]
[100 121 144]]
[[169 196 225]
[256 289 324]]]
# 除法运算
print(my_array / my_array2)
[[[1. 1. 1.]
[1. 1. 1.]]
[[1. 1. 1.]
[1. 1. 1.]]
[[1. 1. 1.]
[1. 1. 1.]]]
- silverlight 《Hands-On-Labs》教程系列
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(67)-MVC与ECharts
- 2018年机器学习和数据科学重要会议概览
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(60)-系统总结
- WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构
- 使用动态语言来制作silverlight
- 《资讯》霍金:人工智能的威胁就像核武器,世界将发生10大变化!
- [原创]WCF技术剖析之三:如何进行基于非HTTP的IIS服务寄宿
- 厉害了,连美图CEO都开始热捧区块链了!
- Silverlight制作逐帧动画
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(58)-DAL层重构
- 糟糕了!这次新版微信,要干死所有小游戏了!
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(59)-BLL层重构
- 除了奇奇怪怪的机器人们,2017年人工智能还干了哪些“蠢事”?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 必须同时重写hashcode和equals方法的原因
- Springboot中使用Redis的发布/订阅模式
- Java 几种排序算法 与时间空间复杂度
- JAVA程序员必须要学会的网络知识
- 计算机网络学习--数据链路层
- 带你快速了解原码、反码、补码,搞定进制转换
- Python语言学习笔记——简介
- 三行代码,OpenCV轻松生成19种色彩风格图像
- Java对象的结构与对象在内存中的结构
- Spring框架源码分析(IoC):Resource、ResourceLoader和容器之间的关系
- Spring框架源码分析(IoC):BeanFactory和ApplicationContext容器家族
- spring框架通过xml以及注解方式注册BeanDefinition的流程全链路分析
- Java后端面试学习知识总结——GC
- Java后端面试学习知识总结——JVM
- Spring JDBC 框架,我的学习笔记