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

Python数据分析-Numpy

Numpy

个人笔记,仅供参考,谢谢

导入

import numpy
import numpy as np
from numpy import *

Numpy数组对象

  1. 引入
# 让列表+1
a = [1,2,3,4],b = [4,5,6,7]
[x+1 for x in a]
# 实现a+b
a + b => [1,2,3,4,5,6,7,8]
[x + y for (x,y) in zip(a,b)]
-----------
# numpy
a = np.array([1,2,3,4])
a+1 => array([2,3,4,5])
b = np.array([2,3,4,5])
a + b =>array([3,5,7,9])
  1. 产生数组
# 从列表产生:
lst = [1,2,3]
a = np.array(lst)
# 从列表传入
a = np.array([1,2,3])
# 生成全0数组
np.zeros(5)
=> array([0.,0.,0.,0.,0.,]) # 默认浮点数
# 生成全1数组
np.ones(3)
=> array([1.,1.,1.])
np.ones(3,dtype='int') # 转换为整型,bool...
# fill 填充
a=np.array([1,2,3])
a.fill(6) # 所有元素变为6,长度取决于a原先的长度
a.fill(2.5) # 得到2,因为dtype = int,与列表不同
a = a.astype('float') # 类型强转
  1. 生成整数序列
a=np.arange(1,10) # 左闭右开,默认增1
a=np.arange(1,10,2) # (left, right, step)
  1. 生成等差序列
a = np.linspace(1,10,4) # 等差数列,左闭右闭,4为数列长度
  1. 生成随机数
np.random.rand(10) # 产生[0,1)的10个随机数
np.random.randn(10) # 产生标准正态分布[0,1)的10个随机数
np.random.randint(1,10,6)# 从1 到 10 的6个随机整数
  1. 数组属性
# 数组的数据类型
type(a)
# 查看数组元素数据类型
a.dtype
# 查看性状,每维的长度(n,m)
a.shape
# 查看元素数目
a.size
# 查看维度 1,2,3...
a.ndim
  1. 索引与切片
# 索引
a=np.array([0,1,2,3])
a[0] # 索引
a[0] = 1 # 修改py
# 切片,支持负索引
a[1:3] # 左闭右开
<=> a[1:-2] <=> a[-3,3]
# 省略参数
a[-2:] # -2到最后
a[::2] <=> a[1:a.size:2]
# 差分
a=[1,2,3,4]
rst = a[1:] - a[:-1]

多维数组及其属性

  1. 定义
a = np.array([[1,2],[3,4]]) # 二维数组,广义表
np.array([[[1,2],[2,0]],[[3,5],[6,7]]])
# 从外到内每对括号降一次维度
a.shape => (2,4) ; 24列
a.size  => 4
a.ndim	=> 2
  1. 索引
a[1,1] => 4
a[0,0] => 1
a[0,1] = -1 # 赋值操作
a[1] => [1,2] # 
a[:,1] => array([1, 11]) # 第二列
  1. 多维数组切片
a = np.array([0,1,2,3,4,5],[10,11,12,13,14,15],[20,21,22,23,24,25],[30,31,32,33,34,35],[40,41,42,43,44,45])
a[0,3:5] # 第一行的3-4号元素,左闭右开
a[4:,4:] # 得到第4,5行的最后两列
# 对于每一维都支持切片的规则,包括父索引
[lower:upper:step]
a[::2,:] # 取出奇数行
  1. 切片是引用
a=np.array([0,1,2,3,4])
b=a[2:4]
print(b)
b[0]=10
a # a 的值已经发生改变。 // 如果是列表则产生新列表
# 解决方案
a=np.array([0,1,2,3,4])
b=a[2:4].copy(); # 调用数组的方法
  1. 花式索引
a=np.arange(0,100,10)
index = [1,2,-3]
y = a[index]; # 666,玩的真花啊
# 布尔数组
mask = np.array([0,1,0,1,0,1,0,1,1,0],dtype=bool)
a[mask]; # 顾名思义,mask,必须与a等长
# 二维花式
a = np.array([0,1,2,3,4,5],[10,11,12,13,14,15],[20,21,22,23,24,25],[30,31,32,33,34,35],[40,41,42,43,44,45],[50,51,52,53,54,55])
取出次对角线的5个值:a[(0,1,2,3,4),(1,2,3,4,5)] # 一一对应成对
取出最后三行135列
a[3:,[1,2,5]]; # 
a[:3],取出前三行
a[:,:3],取出前三列
a[:2,:3] 取出前2行三列
# 花式bool
mask=np.array([0,1,1,0,1,0]);
a[mask]; # 取出2,3,5行

where语句

a=np.array([0,12,5,20])
a > 10 # 返回array(false,true,false,true)
np.where(a > 10);# 返回所有大于10元素的索引位置
# 返回的是一个元组
a[a>10]; # 返回大于10的元素,花式了
a[np.where(a>10)] # 同样

数组类型

  • 类型转换
a = np.array([1,5,-3],dtype=float)
a = np.array([1,2,3])
b = np.asarray(a,dtype=float)
b = a.astype(float)

数组操作

  • sort函数
a = np.array(1,3,2)
b = np.sort(a) # 默认升序
  • argsort函数
order = np.argsort(a)  # 得到排序后元素在原来数组中的位置
  • 聚合函数
np.sum(a)
# a.sum()
np.max(a)
# a.max()
np.min(a)
# a.min()
np.mean()
# a.mean()
np.std()
#np.std() 标准差
np.cov(a,b) # 相关系数矩阵
  • 数组形状

    a=np.arange(6)
    a.shape = 2,3
    b = a.reshape(2,3)
    
  • 转置

a.T # /a.transpose(), 不改变原值
  • 数组连接
concatenate((a0,a1,...,an),axis=0)
x = np.array([[0,1,2],[10,11,12]])
y = np.array([[50,51,52],[60,61,62]])
print(x.shape)
print(y.shape)
# 默认沿着第一维连接, 最内侧的括号是第一维
z = np.concatenate(x,y)
z = np.concatenate((x,y),axis = 1)
# 堆叠函数 
np.vstack((x,y))
np.hstack((x,y))
np.dstack((x,y)) # 3维

内置函数

np.abs(a)
np.exp(a)
np.median(a) # 中值
np.cumsum(a) # 前缀和
...

练习

import numpy as np
a = np.array([[0,1,2,3,4,5],[10,11,12,13,14,15],[20,21,22,23,24,25],[30,31,32,33,34,35],[40,41,42,43,44,45],[50,51,52,53,54,55]])
a
array([[ 0,  1,  2,  3,  4,  5],[10, 11, 12, 13, 14, 15],[20, 21, 22, 23, 24, 25],[30, 31, 32, 33, 34, 35],[40, 41, 42, 43, 44, 45],[50, 51, 52, 53, 54, 55]])
a[:2,:3]
array([[ 0,  1,  2],[10, 11, 12]])
b=np.array([0,2,66,2,77])
b[np.where(b<10)]
np.where(b<10)
(array([0, 1, 3], dtype=int64),)
a=np.array([1,2,3])
np.asarray(a,float)
array([1., 2., 3.])
a = np.array([1,2,3])
b = np.array([2,4,5])
np.cov(a,b)
array([[1.        , 1.5       ],[1.5       , 2.33333333]])
import pandas as pd
a = pd.Series([1,2,3],index = ['a',2,3])
a['a']
a.values
a.astype(float)
a.name
a
a    1
2    2
3    3
dtype: int64
import numpy as np
a = np.array([3]*4)
a
array([3, 3, 3, 3])
df2 = pd.DataFrame({'A':1.,'B':pd.Timestamp('20181001'),'C':pd.Series(1,index=list(range(4)),dtype = float),'D':np.array([3]*4,dtype=float),'E':
pd.Categorical(['test','train','test','train']),'F':'anc'})
df2
ABCDEF
01.02018-10-011.03.0testanc
11.02018-10-011.03.0trainanc
21.02018-10-011.03.0testanc
31.02018-10-011.03.0trainanc
df2.drop(['A','B'],axis = 1)
CDEF
01.03.0testanc
11.03.0trainanc
21.03.0testanc
31.03.0trainanc
df2.index = list('abcd')
df2
df2.loc['a','B']
Timestamp('2018-10-01 00:00:00')
df2
df2.loc['a','E'] = np.nan
df2.dropna(inplace=True)
df2[]
ABCDEF
b1.02018-10-011.03.0trainanc
c1.02018-10-011.03.0testanc
d1.02018-10-011.03.0trainanc

相关文章:

Python数据分析-Numpy

Numpy 个人笔记&#xff0c;仅供参考&#xff0c;谢谢 导入 import numpy import numpy as np from numpy import *Numpy数组对象 引入 # 让列表1 a [1,2,3,4],b [4,5,6,7] [x1 for x in a] # 实现ab a b > [1,2,3,4,5,6,7,8] [x y for (x,y) in zip(a,b)] -------…...

【真题解析】系统集成项目管理工程师 2023 年上半年真题卷(案例分析)

本文为系统集成项目管理工程师考试(软考) 2023 年上半年真题(全国卷),包含答案与详细解析。考试共分为两科,成绩均 ≥45 即可通过考试: 综合知识(选择题 75 道,75分)案例分析(问答题 4 道,75分)案例分析(问答题*4)试题一试题二试题三试题四案例分析(问答题*4) …...

【GAMES202】Real-Time Global Illumination(in 3D)—实时全局光照(3D空间)

一、SH for Glossy transport 1.Diffuse PRT回顾 上篇我们介绍了PRT&#xff0c;并以Diffuse的BRDF作为例子分析了预计算的部分&#xff0c;包括Lighting和Light transport&#xff0c;如上图所示。 包括我们还提到了SH&#xff0c;可以用SH的有限阶近似拟合球面函数&#xff…...

金蝶云星空二开,公有云执行SQL

功能背景&#xff1b; 金蝶公有云执行sql工具&#xff0c;因官方为云部署 用户无法连接数据库增删改查 天梯维护网页仅支持增删改操作 二开单据已支持根据sql动态生成单据体 与sql可视化界面操作一致 功能实现及场景&#xff1a; 1.可用于公有云执行sql类操作 2.私有云部署&am…...

JAVA String 二维的字符串数组 String[][]

String[][] 表示一个二维的字符串数组&#xff0c;也可以称为字符串矩阵。它是由多个一维的字符串数组组成的&#xff0c;每个一维数组都表示矩阵中的一行。 在 Java 中&#xff0c;可以使用如下方式声明和初始化一个二维字符串数组&#xff1a; String[][] matrix new Strin…...

【Unity3D赛车游戏优化篇】【九】Unity中如何让汽车丝滑漂移?

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…...

el-dialog设置高度、使用resetFields清除表单项无效问题

初学者容易踩坑的的el-dialog、el-form问题 1. el-dialog设置高度2. el-form中表单项对不齐3. 使用resetFields清除表单项无效 1. el-dialog设置高度 在el-dialog中里面添加一个div设置固定高度&#xff0c;或者限制最小的高度。 <el-dialogtitle"选择图标"v-mod…...

MySql切换到达梦数据库,各种问题解决记录

参考官方文档&#xff1a; https://eco.dameng.com/document/dm/zh-cn/sql-dev/practice-func.html 1. 关键字导致的报错&#xff1a;如ref,comment,top,domain等 Error -2007: 第 1 行, 第 117 列[ref]附近出现错误: 语法分析出错解决方案&#xff1a;修改关键字即可 2. 查…...

2023开学礼山东财经大学《乡村振兴战略下传统村落文化旅游设计》许少辉新财经图书馆

2023开学礼山东财经大学《乡村振兴战略下传统村落文化旅游设计》许少辉新财经图书馆...

vscode中使用eslint+prettier的配置

eslintprettiervscode自动保存用起来感觉非常爽快。 一般来说&#xff0c;安装eslintprettier插件&#xff0c;然后使用相关脚手架配套的eslintprettier&#xff0c;无法自动格式代码&#xff0c;每次都需要执行格式化命令。这里贴出保存自动格式化代码的setting.json。 // .…...

HTML 标签讲解

HTML 标签讲解 HTML 语言结构根元素元数据元素主体根元素大纲元素文本内容语义化内联文本图像与多媒体编辑标识table表格内容表单内容table表单 HTML 语言结构 Markup &#xff08;标记、标签&#xff09;用来容纳和描述内容 严格意义上&#xff0c;标签是指开始标签&#xf…...

ue5 小知识点 ue的world type,pie editor game

说明以该命令行模式启动游戏的前提下的两个问题&#xff1a; 1.WITH_EDITOR中的代码会被编译 2.由于没有在编辑器中(即没有打开虚幻编辑器)&#xff0c;所以GIsEditor为false WITH_EDITOR和WITH_EDITORONLY_DATA的区别 在论坛中找到的答案&#xff1a; WITH_EDITORONLY_DAT…...

两表union 如何保证group by 字段唯一

当要计算的指标可能来源多个表时&#xff0c;可能会使用到union all把不同的表中计算的指标合起来。关于union all使用条件&#xff1a;两个要联合的SQL语句 字段个数必须一样&#xff0c;而且字段类型要“相容”&#xff08;一致&#xff09; 另外&#xff0c;回顾union和uni…...

【⑰MySQL】 变量 | 循环 | 游标 | 处理程序

前言 ✨欢迎来到小K的MySQL专栏&#xff0c;本节将为大家带来MySQL变量 | 循环 | 游标 | 处理程序的分享✨ 目录 前言1. 变量1.1系统变量1.2 用户变量 2. 定义条件与处理程序2.1 案例分析2.2 定义条件2.3 定义处理程序2.4 案例解决 3. 流程控制3.1 分支结构3.2 循环结构3.3 跳转…...

如何在arXiv上发表一篇文章

目录 1. 初始信息确认2. 提交论文文件3. 论文编译结果4. 补充论文信息5. 总览 1. 初始信息确认 版权问题需要根据个人情况选择。 IEEE, Elsevier, BioMed Central, 这几个出版商都允许在投稿之前挂文章到arXiv下。通常是选择&#xff1a; arXiv.org perpetual, non-exclusive l…...

重要性采样

重要性采样 前言 离散型随机变量 X X X&#xff0c;我们可以通过以下方法求取其期望&#xff1a; 直接计算法&#xff0c;需要知道概率分布&#xff1a; E ( X ) ∑ x ∈ X [ p ( x ) ⋅ x ] \mathbb{E}(X)\sum_{x\in X}\left[p(x)\cdot x\right] E(X)x∈X∑​[p(x)⋅x] 采…...

说说Omega架构

分析&回答 Omega架构我们暂且称之为混合数仓。 什么是ECS设计模式 在谈我们的解法的时候&#xff0c;必须要先提ECS的设计模式。 简单的说&#xff0c;Entity、Component、System分别代表了三类模型。 实体(Entity)&#xff1a;实体是一个普通的对象。通常&#xff0c…...

高忆管理:光刻胶概念强势拉升,同益股份、格林达涨停

光刻胶概念5日盘中强势拉升&#xff0c;截至发稿&#xff0c;同益股份、格林达涨停&#xff0c;波长光电、晶瑞电材涨超7%&#xff0c;容大感光涨逾5%&#xff0c;华懋科技、茂莱光学、苏大维格、南大光电等均走强。 音讯面上&#xff0c;据新加坡《联合早报》网站9月2日报导&…...

计算机图形学线性代数相关概念

Transformation&#xff08;2D-Model&#xff09; Scale(缩放) [ x ′ y ′ ] [ s 0 0 s ] [ x y ] (等比例缩放) \left[ \begin{matrix} x \\ y \end{matrix} \right] \left[ \begin{matrix} s & 0 \\ 0 & s \end{matrix} \right] \left[ \begin{matrix} x \\ y \en…...

开源PHP 代挂机源码,可对接QQ、网易云、哔哩哔哩、QQ空间、等级加速等等

本程序运行环境PHP5.6 95dg/config.php修改系统数据库 进入数据库绑定 你搭建的域名即可 部署完成 进入数据库 找到data 输入绑定授权域名即可进行授权打开此网站 网站是无对接接口 需要您自行找对接接口即可 本源码有点乱 有实力的铁铁 可以修改一下哦&#xff01;...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...