python数据分析-numpy相关操作复习3-4

Python数据分析的详细指南(复习篇) Python最初被设计为一种通用的、解释型的高级编程语言,用于多种应用,包括网站开发、脚本编写、自动化运维等。然而,随着数据科学的兴起,Python逐渐在数据分析领域崭露头角。Pandas是一个开源的Python库,它提供了快速、灵活且富有表达力的数据结构,以便你能够轻松地进行数据清洗、转换、分析和可视化。1、Pandas支持多种数据格式的读取,如CSV、Excel、SQL、JSON等。2、数据清洗是数据分析中不可或缺的一步,Pandas提供了丰富的数据清洗功能,如缺失值处理、重复值处理、数据类型转换等。 阅读详情

目录

3.数学运算

4.broadcasting

3.数学运算

3.1逐个元素的运算:

可以进行基本的加减乘除,这里只列举两种

3.1.1逐个元素求和
x = np.array([[1,2],[3,4]], dtype=np.float64)
y = np.array([[5,6],[7,8]], dtype=np.float64)
print(x)
print(y)
#out<<
[[1. 2.]
 [3. 4.]]
[[5. 6.]
 [7. 8.]]
#直接对应相加
x + y
#out<<
array([[ 6.,  8.],
       [10., 12.]])
#直接调用函数相加
np.add(x,y)
#out<<
array([[ 6.,  8.],
       [10., 12.]])
3.1.2逐元素作差
#x - y
#np.substract(x,y)

3.2矩阵的乘法运算

3.2.1 求向量內积
v = np.array([9,10])
w = np.array([10,11])
#方法1
v.dot(w)
#out<<
200
#对应元素相乘后相加 9*10 +10*11 = 200
#方法2
np.dot(x,w)
#out<<
200
3.2.2 求矩阵乘法
x = np.array([[1,2], [3,4]])
y = np.array([[5,6], [7,8]])
#x.dot(y)
np.dot(x,y)
#out<<
array([[19, 22],
       [43, 50]])
np.dot(y,x)
#out<<
array([[23, 34],
       [31, 46]])
#注意顺序不同,结果不同
3.2.3 求矩阵转置
x = np.array([[1,2], [3,4]])
x.T
array([[1, 3],
       [2, 4]])
#高维的tensor也可以做转置
#难点
arr = np.arange(16).reshape(2,2,4)#生成2个2行4列的矩阵
print(arr, arr.shape)
#out<<
[[[ 0  1  2  3]
  [ 4  5  6  7]]

 [[ 8  9 10 11]
  [12 13 14 15]]] (2, 2, 4)

print(arr.transpose((1,0,2)))#注意默认为0,1,2,即为x,y,z轴
[[[ 0  1  2  3]
  [ 8  9 10 11]]

 [[ 4  5  6  7]
  [12 13 14 15]]]

以4为例,4原来坐标为(0,1,0),经过变换之后,x轴与y轴交换,即4的坐标变换为(1,0,0)
#便是现在的位置

 a = np.arange(8).reshape(2,2,2)
np.swapaxes(a,2,0)#等价于np.transpose(a,(2,1,0))
#out<<
array([[[0, 4],
        [2, 6]],

       [[1, 5],
        [3, 7]]])
#np.matmul()
a = np.arange(2*2*4).reshape((2,2,4))
b = np.arange(2*2*4).reshape((2,4,2))
c = np.arange(1*2*4).reshape((1,4,2))
np.matmul(a,b)
np.matmul(a,c)
#out<<
[[[ 28  34]
  [ 76  98]]
 [[428 466]
  [604 658]]]
  
  [[[ 28  34]
  [ 76  98]]
 [[124 162]
  [172 226]]]

np.matmul(a,b)则会将a的第一个矩阵和bb的第一个矩阵相乘,将a的第二个矩阵b的第二个矩阵相乘,最终得到一个2×2×2的结果
同理,同样对于c,它会被理解成一个4×2的矩阵的stack,对于np.matmul(a,c),则会广播c的一个矩阵,将a的第一个矩阵和第二个矩阵分别与c的一个矩阵相乘最终得到一个2×2×2的结果

#矩阵内元素求和 np.sum()函数
x= np.array([[1,2], [3,4]])
#print(np.sum(x))
print(x.sum())
#out<<
10
#对每一列求和
print(np.sum(x,axis = 0))
#out<<
[4 6]
#对每一行求和
print(np.sum(x,axis = 1))
#out<<
[3 7]
#np.mean()#求平均值
print(np.mean(x))
print(np.mean(x, axis=0))
print(np.mean(x, axis=1))
#out<<
2.5
[2. 3.]
[1.5 3.5]
#cumsum()
print(x.cumsum(axis=0))#每一列往下加
print(x.cumsum(axis=1))#每一行往右加
#out<<
[[1 2]
 [4 6]]
[[1 3]
 [3 7]]
 #cumprod()
print(x.cumprod(axis=0))#每一列往下乘
print(x.cumprod(axis=1))#每一行往右乘
#out<< 
[[1 2]
 [3 8]]
[[ 1  2]
 [ 3 12]]
#数组排序sort()
arr = np.random.randn(8) * 10
print(arr)
#out<<
[ -6.24660201 -15.58258586   1.15676204  11.54353536  13.8556186
  -6.89290567 -12.91138002  12.821078  ]
arr.sort()
print(arr)
#out<<
[-15.58258586 -12.91138002  -6.89290567  -6.24660201   1.15676204
  11.54353536  12.821078    13.8556186 ]
#二维数组也可以在某些维度上排序
arr = np.random.randn(5,3) * 10
print(arr)
#out<<
[[ -0.02512307  17.20191497   0.74223841]
 [-17.27291867 -13.00197112  -5.92251587]
 [ -5.59044821  -8.86042079  -3.41354389]
 [ 19.03995704  -5.91193954  -1.3943038 ]
 [ -3.69189399  11.19939905 -13.96774803]]
 #按照行排序
 arr.sort(1)
 #arr.sort(0)按照列排序
 print(arr)
 #out<<
 [[ -0.02512307   0.74223841  17.20191497]
 [-17.27291867 -13.00197112  -5.92251587]
 [ -8.86042079  -5.59044821  -3.41354389]
 [ -5.91193954  -1.3943038   19.03995704]
 [-13.96774803  -3.69189399  11.19939905]]
#找出排序后位置在5%的数字
large_arr = np.random.randn(1000)
large_arr.sort()
print(large_arr[int(0.05*len(large_arr))])
#out<<
-1.811993526121341

4.Broadcasting

x = np.array([[1,2,3], [4,5,6], [7,8,9], [10, 11, 12]])
v = np.array([1,0,1])
print(x)
print()
print(v)
#out<<
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]

[1 0 1]
#赋值x格式给y
y = np.empty_like(x)
print(y)
#out<<
[[0 0 0]
 [0 0 0]
 [0 0 0]
 [0 0 0]]
a = np.arange(3)
print(a)
#out<<
[0 1 2]
a + 5#broadcasting每一个元素都要加
#out<<
array([5, 6, 7])
b = np.ones((3,3)
print(b)
#out<<
[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]
c =np.arange(3)
print(c)
#out<<
[0 1 2]
print(b + c)
[[1. 2. 3.]
 [1. 2. 3.]
 [1. 2. 3.]]
【Python数据分析与可视化】期末复习笔记整理(不挂科) 【Python数据分析与可视化】期末复习笔记3. NumPy数值计算基础忘了的函数ndarray 对象属性和数据转换4. Pandas统计分析 3. NumPy数值计算基础 忘了的函数 linspace(start, end, count):创建等差数列 logspace(start, end, count):创建等比数列 diag:创建对角矩阵,即对角线元素为0或指定值,其他元素为0 eye:创建一个对角线位置为1,其他位置全为0的矩阵 sort:axis=1,沿横轴排序,axis=0,沿着纵轴排序. 阅读详情

相关推荐

IO多路转接 ——— select、poll、epoll

select是系统提供的一个多路转接接口。select函数的函数原型如下: 参数说明:参数timeout的取值:返回值说明:select调用失败时,错误码可能被设置为:fd_set结构与sigset_t结构类似,fd_set本质也是一个位图,用位图中对应的位来表示要监视的文件描述符。 调用select函数之前就需要用fd_set结构定义出对应的文件描述符集,然后将需要监视的文件描述符添加到文件描述符集当中,这个添加的过程本质就是在进行位操作,但是这个位操作不需要用户自己进行,系统提供了一组专门的接口,用

2021dragon的博客 7973

python numpy基础

                                                  python numpy基础 numpy基础用法的代码,以后自己可以查的笔记 # -*- coding: utf-8 -*- import numpy as np #1、数组(ndarray) 创建 aa=[1,2,3,4] #list 2 numpy a_=np.array(aa) pr...

ouyangfushu的博客 356

AI安全攻防:十六进制编码与表情符号如何绕过ChatGPT安全限制

在人工智能安全领域,提示词工程是影响大语言模型行为的关键技术。其核心原理在于通过精心设计的输入文本,引导模型生成特定内容或执行特定任务。这项技术的价值在于能够深入探究模型的理解机制与决策边界,对于模型优化、安全测试及功能开发具有重要意义。在实际应用场景中,研究人员常利用编码转换、符号插入等方法构造输入,以测试模型安全护栏的鲁棒性。近期,一种结合十六进制编码与表情符号的组合攻击手法受到关注,该方法通过信息伪装与语义干扰,试图绕过模型内置的内容过滤机制,这凸显了当前AI安全在输入预处理与语义理解协同防御上面临的

weixin_30633405的博客 446

numpy基础二

在上面这些方法中,布尔值会被强制转换为1(True)和0(False)。因此,sum经常被用来对布尔型数组中的True值计数: arr = np.random.randn(100) print((arr &gt; 0).sum()) #48 另外还有两个方法any和all,它们对布尔型数组非常有用。any用于测试数组中是否存在一个或多个True,而all则检查数组中所有值是否都是Tru...

leon_lavie的博客 358

Claude Code 完整使用教程(2026最新版)

《Claude Code 完整使用教程(2026最新版)》摘要: Claude Code 是 Anthropic 公司推出的智能编程工具,通过自然语言对话实现代码编写、调试和重构。本教程基于 v2.1.101 版本,涵盖安装配置、核心功能及最新特性。主要内容包括: 多平台安装方式(macOS/Linux/Windows) 桌面应用专属功能如并行会话、定时任务和语音模式 模型选择指南(Sonnet/Opus/Haiku) 快速入门示例:5分钟创建Node.js项目 核心功能:代码读写、命令执行、Git集成等

程序猿_三产 1万+

手把手教你用STM32驱动SPL06-001气压传感器(附完整代码与避坑指南)

本文详细介绍了如何使用STM32驱动SPL06-001气压传感器,包括硬件连接、寄存器配置、驱动层实现和数据补偿算法。通过完整的代码示例和避坑指南,帮助开发者快速掌握SPL06传感器的应用技巧,提升嵌入式系统开发效率。

weixin_42552315的博客 290

numpy 练习题 —— nndl

numpy 的array操作 1.导入numpy库 import numpy as np 2.建立一个一维数组 a 初始化为[4,5,6], (1)输出a 的类型(type)(2)输出a的各维度的大小(shape)(3)输出 a的第一个元素(值为4) a = [4, 5, 6] a = np.array(a) print(type(a)) print(a.shape) print(a[0]) ...

Lynch的博客 5700

mfcc总结,这个mel三角滤波器分组到底是如何起作用的呢?

先看fft频谱图(这是4096字节取样fft计算,横轴频率是从0到512,后边意义不大,未取,纵轴是振幅),那些我随便画的蓝色线,你有什么联想?: 再看,这绿色线,是否有一种上升后,便逐渐式微的感觉,都是三角形的,这或许也是mel当初和绝大多数人看到的: 如果在振幅上加上一条限制的黑线(振幅门槛限制),黑色线以下很多频率就没有意义了,你看,有用的频率连一半(512/2=256)都占不到...

ganggangwawa的博客 9907

Python学习——Numpy

Numpy学习

Aure219的博客 1739

爬虫瑞数5案例:联通

瑞数动态安全 Botgate(机器人防火墙)以“动态安全”技术为核心,通过动态封装、动态验证、动态混淆、动态令牌等技术对服务器网页底层代码持续动态变换,增加服务器行为的“不可预测性”,实现了从用户端到服务器端的全方位“主动防护”,为各类 Web、HTML5 提供强大的安全保护。

老衲爱洗头的博客 4469

CATIA V6二次开发——如何利用CaptureToFile截屏

CaptureToFile 今天给大家分享一个很有趣的功能,如何利用CATIA自带的功能输出模型展示图? 先上方法: 方法本身并不难,只需要赋予格式及输出路径即可完成该功能。结果如下: 看到这样一张图片不禁让我陷入了沉思,怎么会这么丑???? 那么如何让这个简单的功能变得有趣,图片变得好看点呢? 第一步:背景换色 第二步:隐藏结构树 ...

WorkMan的博客 2982

Python中的NumPy(三)——阵列数学(Array Math)

阵列数学 1、基础数学 # Basic math x = np.array([[1,2], [3,4]], dtype=np.float64) y = np.array([[1,2], [3,4]], dtype=np.float64) print(&quot;x:\n&quot;,x) print(&quot;y:\n&quot;,y) print (&quot;x + y:\n&quot;, np.add(x, y)) # or x + y

m0_37827994的博客 1510

Agent Harness Engineering: AI Agent 执行管控与安全沙箱 原理与最佳实践

我们正站在计算范式转移的历史节点上。2024-2026 年间,AI 系统从被动的内容生成器(Generative AI)演变为主动的行动执行者(Agentic AI)。这一转变的根本特征是:根据 2026 年初的行业数据:然而,能力的提升伴随着风险的指数级增长。2024-2026 年间发生的多起标志性安全事件揭示了 Agent 系统的脆弱性:案例 1:Slack AI 数据外泄事件(2024 年 8 月)案例 2:制造业供应链攻击(2026 年 Q3)案例 3:Arup 深度诈骗案(2026 年 9 月)这

AI天才研究院 1667

Python数据分析期末复习归纳

python数据分析期末复习 文章目录python数据分析期末复习前言一、第1、2章二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、第1、2章 分值:1~2分 python使用缩进来组织代码 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤

hughie的博客 7248

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Python期末复习

np.random.randint(low, high=None, size=None, dtype='l'):生成一个整数或N维整数数组,取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。df = pd.read_table('example.txt',encoding = 'gbk',sep = ',',nrows= 5)#nrow为读取行数。print('root=','%.4f'%i,'\n','迭代次数:',n,sep='')

howell55的博客 3166

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Python数据分析-numpy相关操作复习1-2

数据分析-numpy相关操作目录1.数组简介和数组的构造2. 数组的取值和赋值3.数学运算4.broadcasting5.逻辑运算6.数组高级操作7.文件输入输出8.练习题1.数组简介和数组的构造Arrays下面介绍一些常用函数,方便用来创建数组(矩阵)2.数组取值和赋值 目录 1.数组简介和数组的构造 2. 数组的取值和赋值 3.数学运算 4.broadcasting 5.逻辑运算 6.数组高级操作 7.文件输入输出 8.练习题 1.数组简介和数组的构造 #导入numpy模块 import numpy

cmdxly的博客 269

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python数据分析之Numpy基础

好久不看,基础都忘记了,再复习一遍! #numpy练习 import numpy as np #生成随机数组 data = np.random.randn(2,3) data array([[-0.11086926, 1.41892946, 1.28374622], [ 0.92468719, -0.09997067, 0.21467277]]) #数组大小 data...

silvia__y的博客 454

python基本语法和数据分析(numpy+matplotlib+pandas)

全面介绍了 Python 的基础语法、数据结构、类与对象、函数、模块以及常用库的使用方法。详细讲解了类与对象的定义和使用、函数的定义和调用、模块的导入和使用等。同时,深入探讨了字符串、列表、元组、集合、字典等数据结构的特性及其操作方法。此外,还介绍了 Jupyter Notebook 的快捷键、格式化输出、运算符、三元运算符、input() 和 eval() 函数等实用工具。文章还通过大量示例代码,展示了如何使用 Python 进行文件操作、数据分析(NumPy、Pandas)、数据可视化以及如何处理字符串

houliabc的博客 1795

Python数据分析复习提纲(小白快速入门指南)

核心库:Pandas(数据处理)、NumPy(数值计算)、Matplotlib/Seaborn(可视化)、SciPy(科学计算)、Scikit-learn(机器学习)。基本流程:数据加载与探索 → 数据清洗 → 数据预处理 → 数据分析 → 可视化。

2302_79781355的博客 682

python数据分析-numpy相关操作复习5-6

目录 5.逻辑运算 6.数组高级操作 5.逻辑运算 import numpy as np x_arr = np.array([1.1, 1.2, 1.3, 1.4, 1.5]) y_arr = np.array([2.1, 2.2, 2.3, 2.4, 2.5]) cond =np.array([True,False,True,True,False]) #满足条件(condition),输出x,不满足输出y print(np.where(cond,x_arr,y_arr)) #out<< [

cmdxly的博客 203

python数据分析-numpy相关操作复习7-8

目录 7.文件输入输出 8.练习题 7.文件输入输出 7.1 读取csv文件作为数组 arr = np.loadtxt('path\\name.txt',delimiter = ',') print(arr) #out<< [[ 1. 2. 3. 4. 4. 5.] [ 1. 2. 3. 4. 5. 6.] [ 1. 2. 34. 5. 5. 5.]] 7.2 数组文件读写 arr = np.arange(50).reshape(2,5,5) print(a

cmdxly的博客 224

python数据分析复习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录概念计算Matplotlib数据可视化Pandas数据分析 概念 计算 Matplotlib数据可视化 Pandas数据分析

qq_51177088的博客 845

Python数据分析:Pandas与NumPy结合,实现高效数值计算,提升数据分析效率的最佳实践

Python数据分析:Pandas与NumPy结合,实现高效数值计算,提升数据分析效率的最佳实践

masterphp的博客 2006

python相关参考文献_[编程]Python数据分析

Python数据分析主要用到numpy、pandas等库,虽然简单,但是没事多复习一下,可以减少使用时搜索查询的时间。np.ndarray, pd.Series和pd.DataFrame的属性和方法np.array的属性和方法见https://docs.scipy.org/doc/numpy/reference/arrays.ndarray.html​docs.scipy.orgpd.Series...

weixin_39545102的博客 5040

Python数据分析复习(二)——Numpy数组计算基础

今天复习Numpy数组对象ndarray的创建、随机数的生成和数组的访问与变换,Numpy矩阵的创建和ufunc函数,利用Python读\写文件并使用函数进行统计分析。

m0_55790744的博客 384

python数据分析期末报告_Python数据分析综述,期末,复习,归纳

# python数据分析期末复习归纳(更新中)前言可以通过《利用Python进行数据分析》的GitHub仓库获得本书的数据文件和相关材料。链接:GitHub仓库地址提示:以下是本篇文章正文内容一、python语言基础分值:1~2分python使用缩进来组织代码,而不是其他语言比如R、C++、java和Perl那样用大括号。你见到的python语句都不是以分号结尾,而分号也是可以用于在一行内将多条语...

weixin_39744316的博客 760
上一篇: Python数据分析-numpy相关操作复习1-2
下一篇: python数据分析-numpy相关操作复习5-6
xiaoliyu00
博客等级 码龄9年 4180粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值