numpy的学习,全是源码,勿喷

文章目录

  • numpy的学习,全是源码,勿喷
    • 基础学习
    • array的操作
    • numpy的运算
    • numpy的运算

基础学习

import numpy as np# # 核心:数组   数组里面只能存放列表!!!
# a = np.zeros((3,2))# 创建一个全是0数组
# # 表示 3个数列,每个数列2个数据
# # 表示   0 0
# #       0  0
# #       0  0
# print(a)
# print(a.shape)# 获取数组的规模
#
# # numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
# #           创建的数组 可以进入的类型
#
#
# a = np.ones((3,2))# 全是一的数组
# print(a)
# a = np.arange(3,7)# 类似range左边可取,右边不行
# print(a)
# b = np.linspace(3,6,2)
## 开头是3,结尾是6,最后的数字表示总共取多少个数字(包括开头和结尾)
# print(b)array = np.array([[1, 2, 3],[4, 5, 6]])
# 规格用(),具体数字用[],and具体数据要在里面加上一层!!
print(array)
print(array.ndim)  # 知道他是多少维的东西!!a = np.array([2, 23, 4], dtype=np.int0)
# type代表的是数据的存储的格式,后面的数字越大,那么他的大小越大,所以也就越精确
print(a)a = np.arange(1,13).reshape(3,4)# reshape代表是多少航多少列
print('arange',a)b = np.linspace(3,6,3).reshape(3,1)#3个数列,每个数列1个数据
# 开头是3,结尾是6,最后的数字表示总共取多少个数字(包括开头和结尾)
# 是平均分的
print('linspace',b)
# arrange 和 Linspace的区别最后的参数arrange是间隔,
# Linspace是取多少个数,但是要注意,这些数字是包括头和尾

array的操作

import numpy as np
a = np.array([1,1,1])
b = np.array([2,2,2])
c = np.vstack((a,b))# 上下叠加,创造二维数列
d = np.hstack((a,b))# 左右叠加,合并成一个数列,h好# 第一个括号代表这个函数,第二个括号代表进来的那两个要合并
print(c)
print(c.shape)
print(d)# [1,1,1]
# 怎么变成[1]
#        [1]
#        [1]
# a.T 不行。。。print(a[:,np.newaxis])
# 创建出一个新的维度a = a[:,np.newaxis] #111变成 1  \n  1\n  1
b = b[:,np.newaxis]
print(np.hstack((a,b,b)))c = np.concatenate((a,b),axis=0)# 0--上下  1---列表一排左右合并
print(c)a = np.arange(1,13).reshape((3,4))# 记得加括号,因为3和4是一起的
print(a)
print(np.split(a,2,axis=1))
# 分成          2部分  列表内进行分割,就是左右嘛,上面有
# 左右的中间切开a = np.arange(1,13).reshape((4,3))# 记得加括号,因为3和4是一起的
print(a)
# print(np.split(a,2,axis=0))# 上下分割
# 上下的中间切开
# 这种方法数据必须是可以平均分配的# 和上面的split一样,但是v代表上下,,h代表左右,上面有写
# print(np.vsplit(a,2))
# print(np.hsplit(a,3))# 下面这种就不大需要
# print(np.array_split(a,3,axis=0))
# 不平均分配

numpy的运算

import numpy as np
# a = np.array([20,30,40,50])
# b = np.arange(4)# 0 1 2 3
# print(a,b)
#
# print('a+b:',a+b)
# print('a*2:',a*2)
# print('a的平方:',a**2)# easy,right?
# print('np.sin,就是求a里面每一个的sin值:',np.sin(a))
# # cos tan类似,但是记得加上   np....
# b = np.arange(4).reshape(2,2)
# print(b<2)# 返回一个列表,符合值<2就是truea = np.arange(1,10).reshape(3,3)
b = np.arange(9,0,-1).reshape(3,3)
print(a,'\n',b)# c_dot = np.dot(a,b)
# 等同于下面那个
# c_dot = a.dot(b)
# print(c_dot)  矩阵运算不过多赘叙# sum,max,min这些也不过多赘叙
# 但是记得加上  np!!!!print(np.sum(a,axis=0))# 每个列表的第n个
print(np.sum(a,axis=1))# 每个列表
print(np.max(a,axis=0))# 同理print(np.argmin(b))
# 最小值的索引,只会返回一个数字,那个就是按着顺序数下去print(np.mean(a))
# 当然有另一种形式,a.mean()
# 平均值!!
print(np.median(a))
# 中位数print(np.cumsum(a))
# 前缀和!!!
print(np.diff(a))
# 后一个数-前一个数,重复n次print(np.nonzero(a))
# 打印全部非0的数字的索引,但是索引的行列,是分开的!!
print(np.sort(b))
# 进行排序,但是是一个一个列表进行排序。。print(np.transpose(a))
# 行变成列,列变成行
# 另一种形式:a.Tprint(np.clip(a,3,6))
# 表示,全部小于3的数字变成3
# 大于6的全部变成6# a是二维的,因为一维的就是列表。。
print(a[2])
# 只有一个的时候,表示的是哪一个列表print(a[2][1])# 第3个列表的第二个数据
# print(a[2,1]) teh same
print(a[2,:])
# 第二行所有数,所以有什么用捏
# 我们可以去第一列的第一个
print(a[:,0])# bingoprint(a.flatten())# 将全部数据都放到了一行当中for i in a:print(i)# 可知for出来的是一个个列表

numpy的运算

import numpy as np
a = np.arange(1,5)
print(a)
# 没什么精彩的,就是a = b ,改变b的时候,a也改变了
# 因为这只是赋值,b只是a的一个名牌而已
# b就是a
b = a
b[0] = 14# 因为是一维,直接想列表一样
print(a)
a = np.arange(1,5)# 所以用到copy。。
b = a.copy()
b [0] =666
print(a)

numpy的学习,全是源码,勿喷相关推荐

  1. sparkcore分区_Spark学习:Spark源码和调优简介 Spark Core (二)

    本文基于 Spark 2.4.4 版本的源码,试图分析其 Core 模块的部分实现原理,其中如有错误,请指正.为了简化论述,将部分细节放到了源码中作为注释,因此正文中是主要内容. 第一部分内容见: S ...

  2. 影视全搜索-源码分享-站点采集

    影视全搜索源码分享,影视全搜索是一个搜索全网影视资源的站点 基于框架eyz优化而成的影视全搜索是一个集合众多资源站的影视检索程序, 实现全网m3u8影视资源检索.直播源整理等 演示   演示站点:️影 ...

  3. JAVA计算机毕业设计在线党建学习平台Mybatis+源码+数据库+lw文档+系统+调试部署

    JAVA计算机毕业设计在线党建学习平台Mybatis+源码+数据库+lw文档+系统+调试部署 JAVA计算机毕业设计在线党建学习平台Mybatis+源码+数据库+lw文档+系统+调试部署 本源码技术栈 ...

  4. java毕业生设计在线学习系统计算机源码+系统+mysql+调试部署+lw

    java毕业生设计在线学习系统计算机源码+系统+mysql+调试部署+lw java毕业生设计在线学习系统计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B/S架构 开发语言: ...

  5. 计算机毕业设计Java海南自贸港知识学习与测试(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java海南自贸港知识学习与测试(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java海南自贸港知识学习与测试(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目 ...

  6. java中batch基础_详解Spring batch 入门学习教程(附源码)

    详解Spring batch 入门学习教程(附源码) 发布时间:2020-09-08 00:28:40 来源:脚本之家 阅读:99 作者:achuo Spring batch 是一个开源的批处理框架. ...

  7. 深度学习框架Caffe源码解析

    作者:薛云峰(https://github.com/HolidayXue),主要从事视频图像算法的研究, 本文来源微信公众号:深度学习大讲堂.  原文:深度学习框架Caffe源码解析  欢迎技术投稿. ...

  8. 帝国CMS7.5仿《问答库》题库问答学习平台网站源码 带手机版

    简介: 帝国CMS7.5仿<问答库>题库问答学习平台网站源码 带手机版 开发环境:帝国cms 7.5 安装环境:php+mysql 学历考试等各类题库以及一些常见的普通练习的题目题库供大家 ...

  9. JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目 ...

最新文章

  1. 洛谷 P2468 粟粟的书架 二分(主席树+前缀和)
  2. java实型常量用十六进制表示_[Java入门笔记] Java语言基础(二):常量、变量与数据类型...
  3. Git查看、删除、重命名远程分支和tag【转】
  4. Android中给listview/gridview设置动画(逐条加载条目动画)
  5. 在Autodesk应用程序商店发布基于浏览器的Web应用程序
  6. 02-缓存一致性---实现big.LITTLE、GPU 计算和企业应用
  7. docker 添加端口映射_Docker容器修改端口映射
  8. 日志汇总:logging、logger
  9. 基于JAVA+SpringMVC+MYSQL的在线课程学习系统
  10. iperf android使用方法,FW: 使用Iperf工具测试android系统网络wifi的吞吐量wifithrougput...
  11. mybatisplus 增删改查(普通)
  12. 类图和对象图(用户管理模块建模)
  13. Assertion断言介绍1
  14. 卿来云老师以前课程主页
  15. 洛谷p1598题解记录
  16. 【面试总结】Unity3D面试题总结
  17. 合理运用计算机技术学校,浅议在学校管理中计算机技术合理应用
  18. 使用杉川3i-T1单线激光雷达和Cartographer库SLAM问题及解决
  19. 虹膜识别—DeepIrisNet2
  20. 用 Visual Studio Code 做基于 .NET MAUI 跨平台移动应用开发

热门文章

  1. 轻型货车悬架系统的设计(设计说明书+CAD图纸+开题报告+任务书+答辩相关材料)
  2. 计算机图形学-五角星的画法
  3. 机器人总动员拟人_《机器人总动员》从三个角度解析这部电影带给我们的思考与感动...
  4. 测序 测序过程和原理
  5. 计算机树的逻辑结构,树结构(示例代码)
  6. Nginx+Lua+Redis实现广告缓存
  7. phpmyadmin 4.8.1 Remote File Inclusion Vulnerability (CVE-2018-12613)漏洞复现
  8. 关于IP网络号和主机号的原理
  9. MarkdownPad2安装教程
  10. 过滤器的几种实现方法