当前位置: 首页 > news >正文

数据分析-numpy1

文章目录

  • numpy
      • array创建数组
      • arange()生成区间数组
      • numpy数组属性
    • 切片和索引
    • numpy广播机制

numpy

  • numpy是什么?
  • 使用Numpy可以方便的使用数组、矩阵进行计算
  • 包含线性代数、傅里叶变换、随机生成等大量函数
  • numpy创建数组

在这里插入图片描述

array创建数组

引入numpy
import numpy as np
元组
np.array((1,2,3,4,5))

数组
a=np.array([1,2,3,4,5])
b=np.array(a)
#b=a

迭代对象
np.array(range(10))

生成器
np.array([i**2 for i in range(10)])
  • 练习1:创建10以内偶数的数组
import numpy as np
a=np.array([i for i in range(10) if i%2==0])
  1. 设置dtype参数,默认自动识别
a=np.array([1,2,3,4,5])
has_dtype_a=np.array([1,2,3,4,5],dtype='float')
结果:array([1.,2.,3.,4.,5.])

思考:将浮点设置成整型

np.array([1.1,2.5,3.8,4,5],dtype='int')  #强制转换直接取整
结果:[1,2,3,4,5]
  1. 设置coppy参数,默认为True
a=np.array([1,2,3,4,5])
b=np.array(a)
print('a',id(a),' b',id(b))
#两者地址不同

a=np.array([1,2,3,4,5])
b=a
#两者地址相同

a=np.array([1,2,3,4,5])
b=np.array(a,copy=False)
#两者地址相同
  1. ndmin用于指定数组的维度
a=np.array([1,2,3],ndmin=2)
a.ndim
  1. subok参数,类型为bool值,默认False。为True,使用object的内部数据类型;False:使用数组的数据类型
#创建一个矩阵
a=np.mat([1,2,3,4])
#复制副本,保持原类型
b=np.array(a.subok=True)
c=np.array(a) #默认为False
#a、b类型相同

arange()生成区间数组

在这里插入图片描述

np.arange(3.1)
#array[0.,1.,2.,3.]

np.arange(5,dtype=float)
#array[0.,1.,2.,3.,4.,5.]
  • linspace()等差数列
    在这里插入图片描述
#包含终止值
a=np.linspace(2.0,5.0,num=5,endpoint=False)
  • logspace()等比数列
    在这里插入图片描述
a=np.logspace(0,9,10,base=2)
#省略base,默认为10

numpy数组属性

在这里插入图片描述

  • ndarray.shape
    返回一个包含数组维度的元组,对于矩阵,n行m列,它也可以用于调整数组维度
    在这里插入图片描述
  • 调整维度reshape
a=np.arange(20).reshape((4,5))
  1. 调整维度resize
    在这里插入图片描述
    在这里插入图片描述

切片和索引

在这里插入图片描述

ar1=np.arange(10)
ar2=ar1[2:7:2]
结果:ar2([2,4,6])

注意
1:切片可以使用省略号"…",如果在行位置,打印所有行元素。反之,则包含所有列元素
2:返回第二列后所有元素ar4[…,1:]
3:返回第二列后的所有项 ar4[…][1]

numpy广播机制

在这里插入图片描述

a=np.array([1,2,3,4])
b=np.array([10,20,30,40])
c=a*b
print(c)

在这里插入图片描述

a=np.array([[0,0,0],
   [10,10,10],
   [20,20,20],
   [30,30,30]
  ])
b=np.array([0,1,2])
print((a+b))
结果:
[[ 0  1  2]
 [10 11 12]
 [20 21 22]
 [30 31 32]]
  • 广播规则
    在这里插入图片描述

相关文章:

  • 汇率价格统一,当前购买Fabfilter价格更便宜了
  • BP神经网络需要训练的参数,bp神经网络建模步骤
  • 【Game Of AutoTest】3、游戏自动化测试的框架设计
  • 【操作系统】第五章 IO
  • 互联网大厂高频面试专题 500 道:并发编程 /Spring/MyBatis(附答案解析)
  • javaweb医院门诊管理系统
  • Python从入门到高手的80行代码
  • 回顾大一|我们要做的是提前准备,而不是提前焦虑
  • Docker - 编译安装nginx镜像
  • 【云原生|设备云】设备APP开发软件细节详解
  • 动态规划 - 字符串分割(Word Break) + 三角矩阵(Triangle)
  • 一种自适应模拟退火粒子群优化算法-附代码
  • 大模型系统和应用——Transformer预训练语言模型
  • fastapi定时任务,增量构建可转债交易数据入mongo和qlib
  • python+java+springboot快递物流之家管理系统
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 2017 年终总结 —— 在路上
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Java 内存分配及垃圾回收机制初探
  • java2019面试题北京
  • rabbitmq延迟消息示例
  • React中的“虫洞”——Context
  • 前端面试总结(at, md)
  • 设计模式 开闭原则
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 数组大概知多少
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #每天一道面试题# 什么是MySQL的回表查询
  • (1)常见O(n^2)排序算法解析
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (九)One-Wire总线-DS18B20
  • (九)信息融合方式简介
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .bashrc在哪里,alias妙用
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET 材料检测系统崩溃分析
  • .net 程序发生了一个不可捕获的异常
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • @Autowired多个相同类型bean装配问题
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • []FET-430SIM508 研究日志 11.3.31
  • [100天算法】-二叉树剪枝(day 48)
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [BT]BUUCTF刷题第8天(3.26)
  • [C#基础知识系列]专题十七:深入理解动态类型
  • [c]统计数字
  • [Django 0-1] Core.Email 模块