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

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

目录

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<<
[1.1 2.2 1.3 1.4 2.5]
arr = np.random.randn(4,4)
print(arr)
#out<<
[[ 0.44329079  1.90028937 -1.10965935  0.00704608]
 [-0.11381241  0.42095381  1.11738858  0.53364408]
 [-0.85414205  0.55214384 -1.13165476 -0.91420894]
 [-0.53698224 -0.18174922 -1.04781079  0.45641734]]
 arr > 0
 #out<<
 array([[ True,  True, False,  True],
       [False,  True,  True,  True],
       [False,  True, False, False],
       [False, False, False,  True]])
print(np.where(arr > 0,1,-1))
#out<<
[[ 1  1 -1  1]
 [-1  1  1  1]
 [-1  1 -1 -1]
 [-1 -1 -1  1]]

6.数组高级操作

arr = np.arange(8)
print(arr.shape)
#out<<
(8,)
#使用reshape来改变tensor的形状
arr.reshape(2,4)
#out<<
array([[0, 1, 2, 3],
       [4, 5, 6, 7]])
arr = np.arange(2*3).reshape(2,3)#可以用这种方法创建数组
print(arr)
#out<<
[[0 1 2]
 [3 4 5]]
#可以从其他的ndarray中获取shape信息然后reshape
other_arr = np.ones((3,5))
print(other_arr.shape)
#out<<
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
#高维数组可以用ravel来拉平
arr = arr.reshape(other_arr.shape)
print(arr)
#out<<
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]
arr.ravel().shape
#out<<
(15,)
arr.ravel()
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])
#连接两个二维数组
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([[7, 8, 9], [10, 11, 12]])
print(arr1, "\n\n", arr2)
#out<<
[[1 2 3]
 [4 5 6]] 

 [[ 7  8  9]
 [10 11 12]]
#增加行
np.concatenate([arr1,arr2],axis = 0)
#out<<
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]])
#增加列
np.concatenate([arr1,arr2],axis = 1)
#out<<
array([[ 1,  2,  3,  7,  8,  9],
       [ 4,  5,  6, 10, 11, 12]])
#堆叠vertical
np.vstack((arr1,arr2))
#out<<
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]])
#堆叠horizontal
np.hstack((arr1,arr2))
#out<<
array([[ 1,  2,  3,  7,  8,  9],
       [ 4,  5,  6, 10, 11, 12]])
#数组拆分
arr = np.arange(4*5).reshape(4,5)
print(arr)
#out<<
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]
 #[1,2]意思为第一部分为[0,1),第二部分为[1,2),第三部分为[2,3]
 first,second,third = np.spilt(arr,[1,2],axis = 0)
 print(first,'\n\n',second,'\n\n',third)
 #out<<
 [[0 1 2 3 4]] 

 [[5 6 7 8 9]] 

 [[10 11 12 13 14]
 [15 16 17 18 19]]
 print(np.split(arr,2,axis = 0))
 #out<<
 [array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]]), array([[10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])]
 print(np.array_split(arr,4,axis = 0))#注意区分array_split 与 spilt()
 #out<<
[array([[0, 1, 2, 3, 4]]), array([[5, 6, 7, 8, 9]]), array([[10, 11, 12, 13, 14]]), array([[15, 16, 17, 18, 19]])]
#np.split()与array_split()的差别:split必须要均等分,否则会报错。array_split不会

np.spilt()函数详细介绍
https://blog.youkuaiyun.com/mingyuli/article/details/81227629

#堆叠辅助
arr = np.arange(6)
arr1 = arr.reshape((3, 2))
arr2 = np.random.randn(3, 2)
print(arr1)
print(arr2)
#out<<
[[0 1]
 [2 3]
 [4 5]]
[[-1.38681179  0.92904795]
 [-1.22763355 -0.97994103]
 [-0.88051718  1.18033883]]
#r_ 用于按照行堆叠rows
print(np.r_[arr1,arr2])
#out<<
[[ 0.          1.        ]
 [ 2.          3.        ]
 [ 4.          5.        ]
 [-1.38681179  0.92904795]
 [-1.22763355 -0.97994103]
 [-0.88051718  1.18033883]]
 #c_用于按照列堆叠column
print(np.c_[np.r_[arr1, arr2], arr])
#out<<
[[ 0.          1.          0.        ]
 [ 2.          3.          1.        ]
 [ 4.          5.          2.        ]
 [-1.38681179  0.92904795  3.        ]
 [-1.22763355 -0.97994103  4.        ]
 [-0.88051718  1.18033883  5.        ]]
#切片直接转化为数组
np.c_[1:6,-5:0]
#out<<
array([[ 1, -5],
       [ 2, -4],
       [ 3, -3],
       [ 4, -2],
       [ 5, -1]])
np.r_[1:6,-5:0]
#out<<
array([ 1,  2,  3,  4,  5, -5, -4, -3, -2, -1])
#使用repeat来重复按元素重复
arr = np.arange(3)
print(arr)
#out<<
[0 1 2]
#每一个元素重复3次
print(arr.repeat(3))
#out<<
[0 0 0 1 1 1 2 2 2]
#指定行或列来重复
arr = np.arange(3*4).reshape(3,4)
print(arr)
#out<<
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
 #重复行
 print(np.repeat(2,axis = 0))
 #out<<
 [[ 0  1  2  3]
 [ 0  1  2  3]
 [ 4  5  6  7]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [ 8  9 10 11]]
 print(arr.repeat(2,axis = 1))#每一列重复
 #out<<
 [[ 0  0  1  1  2  2  3  3]
 [ 4  4  5  5  6  6  7  7]
 [ 8  8  9  9 10 10 11 11]]
np.tile()
#按照要求复制整个矩阵
print(arr)
print()
print(np.tile(arr,2))#左—>右
#out<<
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

[[ 0  1  2  3  0  1  2  3]
 [ 4  5  6  7  4  5  6  7]
 [ 8  9 10 11  8  9 10 11]]
#print(np.tile(arr, (0,2)))#上——下
#print(np.tile(arr, (2,2)))#上下 左右
Python Numpy之广播、多维数组反转、分割、连接操作 Numpy之广播 广播是指Numpy在算术运算期间处理不同形状的数组的能力。对数组的算术运算通常在相应的元素上进行。如果两个阵列具有完全相同的形状,则这些操作被无缝执行 如果两个数组的维数不相同,则元素到元素的操作是不可能的。然而,在Numpy中仍然可以对形状不相似的数组进行操作,因此它拥有广播功能。较小的数组会广播到较大数组的大小,以便使它们形状可兼容。 #同维度矩阵操作 >>&... 阅读详情

相关推荐

Python数据分析期末高效复习:从Numpy向量化到Pandas实战全解析

在数据科学和机器学习领域,数据处理与分析是核心基础技能。其底层原理依赖于高效的数值计算库,通过向量化操作和广播机制,将循环计算转化为批量矩阵运算,从而大幅提升计算效率。这种技术价值在于能够处理大规模数据集,为复杂模型训练和商业智能分析提供支撑。典型应用场景包括电商用户行为分析、金融数据建模和科研数据处理。本文围绕Python数据分析的期末复习,深入剖析Numpy的向量化思维与广播规则,并系统讲解Pandas的DataFrame操作流,涵盖数据清洗、分组聚合及数据可视化等关键环节,帮助读者构建从数据获取到洞察

weixin_30458043的博客 317

np.where的两种用法

np.where()的两种用法

InoryRWBY的博客 2695

【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,沿着纵轴排序.

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 8518

【Python】NumPy基础——ndarry数组对象

NumPy基础 ndarry数组对象 NumPy是Python的一个高性能科学计算和数据分析基础库,提供了功能强大的多维数组对象ndarray。 jupyter notebook快速执行代码的快捷键:鼠标点击选中要指定的代码框,Shift + Enter组合键直接执行代码框中的全部代码。    Alt + Enter组合键执行完代码框中的代码在代码框的下面再添加一个空代码框。 1、创建数组 ...

小哲的博客 4264

车载摄像头+max96712 + rk3568 调试过程中遇到的问题

本文主要讲述本人在调试rk3568通过mipi-csi2链接max967812,max96712再外接4路车载摄像头过程中遇到的问题,以及最终如何解决这些问题。图中会贴上很多重要且关键的波形图,以便读者在调试过程中进行比对,分析。 如果在调试过程中,mipi总线上的波形没得什么问题的话,还是抓图失败的情况下,需要着重检查 频率,lane数,摄像头分辨率,摄像头输入图像格式等重要配置。

Amelio Ming 2062

解决ArcGIS-OpenStreetMap Toolbox-Load OSM File错误

在安装成功OpenStreetMap Toolbox后,首次运行Load OSM File工具,出现以下错误

Zjf的博客 8819

numpy.split()函数

1、split(ary, indices_or_sections, axis=0) :把一个数组从左到右按顺序切分 参数: ary:要切分的数组 indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置(左开右闭) axis:沿着哪个维度进行切向,默认为0,横向切分。为1时,纵向切分 &gt;&gt;&gt; x = np.arange...

mingyuli的博客 6万+

单卡调试OpenGait:从分布式到本地的轻量级改造指南

本文为个人开发者和研究者提供了一份详细的OpenGait框架单卡调试指南。针对该框架默认依赖多GPU分布式训练的问题,文章通过分析核心痛点,逐步讲解了如何从环境搭建、绕过分布式初始化陷阱、处理通信后端报错到最终配置与调试,实现从分布式到本地的轻量级改造,帮助读者在单张GPU上高效进行步态识别模型的验证与学习。

weixin_28223453的博客 138

计算偏相关系数和复相关系数

根据4个要素的48个样本数据,计算得到的简单相关系数如下,试计算各级偏相关系数和复相关系数,并对其显著性进行检验。 R=r11r12r13r14r21r22r23r24r31r32r33r34r41r42r43r44=10.99540.99040.99890.995410.99260.99230.99940.992610.99770.99890.99230.99771 1. import math 2. import numpy as np 3. import pandas as pd..

超人琪的博客 8525

Halcon深度图转伪彩图

Halcon深度图转伪彩图

Quintin 3933

零基础学GPU KMD--8. 内存管理:GPU 显存与系统内存的协同​8.1 显存分配策略:GEM / TTM 原理

支持 VRAM、GTT(Graphics Translation Table)、SYSTEM 内存的动态迁移与缓存管理。:若缓冲区在 SYSTEM,TTM 分配 GTT 条目并建立页表映射,使 GPU 可直接访问。:系统内存中预留给 GPU 直接访问的区域,通过 GPU 的 MMU 做地址翻译。你需要我继续展开这一部分吗?​ 为复杂离散 GPU 设计,应对大容量 VRAM、多内存域、显存迁移等问题。:重量级、功能全,适合大容量、多内存域的离散 GPU,强调显存迁移与统一管理。

amy_mhd的博客 185

Python数据分析期末复习归纳

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

hughie的博客 7248

使用C/C++复制图像

要使用上述代码,需要将输入图像和输出图像的文件名替换为实际的图像文件名。当程序执行完毕后,将会在当前目录下生成一个名为"output.jpg"的图像文件,其中包含与输入图像完全相同的图像数据。要使用上述代码,需要将输入图像和输出图像的文件名替换为实际的图像文件名。当程序执行完毕后,将会在当前目录下生成一个名为"output.jpg"的图像文件,其中包含与输入图像完全相同的图像数据。函数将输出图像保存到文件中。在这个示例中,我们假设输入图像是一个常见的JPEG图像,文件名为"input.jpg"。

CyberWarpX的博客 728

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

Xinference新手指南(一个命令直接安装成功)

对于新手,必须得学会使用docker部署,这是基本功!这里就不过多去介绍了,如果评论要出教程的话,以后再出了。

Ven%的博客 817

【YOLO11改进 - C3k2融合】C3k2融合AKConv(可改变核卷积)二次创新:任意数量的参数和任意采样形状的即插即用的卷积

【YOLO11改进 - C3k2融合】C3k2融合AKConv(可改变核卷积)二次创新:任意数量的参数和任意采样形状的即插即用的卷积

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 405

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

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

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

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

houliabc的博客 1795

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

python数据分析复习

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

qq_51177088的博客 845

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

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

2302_79781355的博客 682

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

目录 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 #o

cmdxly的博客 662

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

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

masterphp的博客 2006

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

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

m0_55790744的博客 384

Python数据分析——numpy综合(三)

本文介绍了10个NumPy练习题目,涵盖基础操作、矩阵运算、随机数组生成、数组变形等核心功能。题目包括温度数据分析(求最值、均值)、学生成绩统计(中位数、标准差)、矩阵运算(点积、逐元素乘法)、随机数组处理(条件替换)、数组变形(reshape操作)等。每个题目都配有考点分析和示例答案,重点考察NumPy的常用函数如mean()、max()、min()、dot()、where()、unique()等的应用,帮助复习和掌握NumPy在数据处理和科学计算中的关键操作。

qq3342560494的博客 740

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

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

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值