python数据科学--numpy入门

Python数据科学入门:NumPy、Pandas和Matplotlib的实用指南 NumPyPandas和Matplotlib。这些库为数据分析、科学计算和数据可视化提供了强大的功能,使得数据科学工作更加高效和便捷。NumPy:用于高效的数值计算和数组操作。Pandas:用于数据处理和分析,特别适合结构化数据。Matplotlib:用于生成各类图表和可视化数据。通过掌握这些工具,您将能够更好地处理和分析数据,并通过可视化来呈现结果。随着您的深入学习,您将能够处理更复杂的任务,进行更精细的数据分析,推动数据科学技能的提升。 阅读详情

numpy库是python中用于科学计算的核心库,它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具。

导入numpy模块

import numpy as np

创建数组

a=np.array([1,2,3])        #创建一维数组
b=np.array([(1.5,2,3),(4,5,6)],dtype=float)        #创建二维数组
c=np.array([[(1.5,2,3),(4,5,6)],[(3,2,1),(4,5,6)]],dtype=float)        #创建三维数组

初始方法

np.zeros((3,4))                 #创建一个3x4的0数组
np.ones((2,3,4),dtype=np.int16) #创建两个3x4的1数组
d=np.arange(10,25,5)            #创建一个值在10~25以内,间隔为5的一维数组
np.linspace(0,2,9)              #创建一个值在0~2以内,长度为9的一维数组
e=np.full((2,2),7)              #创建一个值都为7的2x2二维数组
f=np.eye(2)                     #创建一个2x2单位矩阵
np.random.random((2,2))         #创建具有随机值的数组
np.empty((3,2))                 #创建空数组

I/O:磁盘上的保存和加载

np.save('my_array',a)
np.savez('my_array.npz',a,b)
np.load('my_array.npy')

I/O:保存和加载文本文件

np.loadtxt('myfile.txt')
np.genfromtxt('my_file.csv',delimiter=',')
np.savetxt('myarray.txt',a,delimiter=' ')

数据类型:

np.int64        #整型
np.float32      #浮点型
np.complex      #复数
np.bool         #布尔值
np.object       #对象
np.string_      #ASCLL字符
np.unicode_     #Unicode所有字符,字节数由平台决定

查看数组:

a.shape        #轴 查看数组形状,对于矩阵,n行m列 
len(a)          #数组长度
a.ndim         #迭 数组维数
a.size         #数组元素数,行*列
b.dtype        #数组数据类型
b.dtype.name   #数组数据类型名称
b.astype(int)  #转换数组为不同数据类型

帮助代码

np.info(np.ndarray.dtype)

数组数学运算

np.subtract(a,b)        #数组相减a-b
np.add(b,a)             #数组相加b+a
np.divide(a,b)          #数组相除a/b
np.multiply(a,b)        #数组
np.exp(b)               #计算数组各元素的指数值
np.sqrt(b)              #计算数组各元素的平方根
np.sin(a)               #计算数组各元素的三角函数值
np.cos(b)
np.log(a)               #计算数组各元素的自然对数
e.dot(f)                #数量积

比较

a==b                #两个数组之间进行比较,相同位置元素值相同标明true,否则false
a<2                 #a数组元素值小于2的元素标明为true,否则false
np.array_equal(a,b) #

聚合函数

a.sum()            #求和数组a各元素的总和
a.min()            #数组a最小值
b.max(axis=0)      #数组b最大值,axis=0为列,1为行
b.cumsum(axis=1)   #累加,cumsum和cumprod之类的方法不聚合,产生一个中间结果组成的数组,默认一维数组,1为按原样
b.cumprod()        #累乘
a.mean()           #平均数
a.median()         #中位数
a.corrcoef()       #
np.std(b)          #标准差:方差平方根

复制函数

h=a.view()        #用相同的数据创建数组的视图
np.copy(a)        #创建数组的副本
h=a.copy()        #创建数组的深度副本

数组排序

a.sort()        #从小到大排序
a.sort(axis=0)  #从小到大对列排序 axis=0为列,1为行

数组处理

  • 转置阵列
i=np.transpose(b)    #
i.T                  #矩阵转置, 行变列, 列变行, 对角线翻转矩阵
  • 改变数组形状
b.ravel()        #使阵列变平,多维数组转为一维数组
b.reshape(3,-2)  #重塑,但不要改变数据
  • 添加/移除元素
h.resize((2,6))        #返回具有行列的新数组(2,6)
np.append(h,g)         #将数据追加到数组中
np.insert(a,1,5)       #将数组插入到数组中
np.delete(a,[1])       #从数组中删除数据
  • 组合数组
np.concatenate((a,b),axis=0)    #级联数组
np.vstack((a,b))                #垂直堆栈数组(行)
np.r_[a,b]                      #垂直堆栈数组(行)
np.hstack((a,b))                #水平堆栈数组(列)
np.column_stack((a,b))          #创建堆叠列阵列
np.c_[a,b]                      #创建堆叠列阵列
  • 拆分阵列
np.hsplit(a,3)        #在第三个索引中水平地拆分数组a
np.vsplit(a,2)        #在第二个索引上垂直地拆分数组a

 

 

Python数据科学入门(NumPy & Pandas)【python基础篇】 本文介绍了Python数据科学中NumPy和Pandas两大核心库的基础知识。NumPy提供了高效的多维数组操作和数学函数,包括数组创建、索引切片、形状操作、数学运算和聚合函数等核心功能。Pandas则构建了更高级的数据结构(Series和DataFrame),支持数据清洗、转换、分组聚合和时间序列处理等操作。文章详细讲解了这两个库的基本使用方法,从数组创建到高级数据分析技术,为Python数据科学入门提供了全面的基础指导。 阅读详情

相关推荐

宝塔面板添加站点及运营商SSL免费证书的申请与使用

本文详细介绍在宝塔面板下如何正确添加站点、配置站点,及在运营商如何申请免费SSL证书,将其配置到宝塔站点里。 给你的网站加一把锁,教你免费SSL证书申请,配置到自己的网站中。 环境:Ubuntu server 18 工具:宝塔控制面板 平台:阿里云 Web服务器:Nginx 宝塔:https://www.bt.cn/ 阿里云:https://www.aliyun.com/ 腾讯云:https://cloud.tencent.com/ 要求: 1.宝塔控制面板搭建完毕。 2掌握域名解析的原理。 3.了解ht

贺兰山长老 5058

JavaScript从二维数组抽取元素组成新数组的三种方法

在编写“圳品”信息系统中,需要从二维数组中抽取每一行的第1个数元素组成新数组,实现的方法至少有以下三种。大家有什么好的实现方法,请多多指教。

Purpleendurer@优快云 7534

FreeSWITCH编译安装详细文档

本文档详细介绍了在Ubuntu 22.04系统上从源码编译安装FreeSWITCH的完整流程。主要内容包括:1)系统环境准备和依赖库安装;2)关键依赖库spandsp和sofia-sip的编译安装;3)FreeSWITCH源码的特定版本(v1.6.0)编译配置,包括禁用SignalWire模块的配置方法;4)系统服务配置,包括创建专用用户、设置权限以及配置systemd服务文件。文档特别提供了版本控制说明,确保后期能切换到相同的版本环境,并附有详细的命令操作步骤和注意事项。

唯有代码让我痴狂 1369

Python 出现这个错误numpy库

原因:1.numpy库版本和python版本不匹配,或者是cv2的。2.1更换python的环境;2.3 重新拆卸cv库。

weixin_43812877的博客 430

YOLO11实战:手把手教你优化钢材表面缺陷识别模型(基于NEU-DET数据集)

本文详细介绍了如何使用YOLO11优化钢材表面缺陷识别模型,基于NEU-DET数据集进行实战训练。从数据增强、模型架构优化到训练过程控制,全面解析提升钢材缺陷检测性能的关键技术,特别针对裂纹、划痕等典型缺陷提出针对性解决方案。

weixin_29081163的博客 379

Android 10.0 SystemUI 屏蔽状态栏消息推送弹出的悬浮通知

在状态栏中,有一些通知类似 消息推送 弹出的 悬浮通知,弹出30秒之后会消失掉 要想屏蔽掉这些通知,首选知道这些通知是怎么产生的 通知类型 NotificationContentInflater.java 详细的介绍各种通知的类型 frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentInflater.java /** * The defau

安卓兼职framework和app工程师的博客 1542

python:由已知数组快速生成新数组-numpy

需求描述 在利用numpy进行数据分析时,常有的一个需求是:根据已知的数组生成新数组。这个问题又可以分为两类: 根据筛选条件生成子数组; 根据变换条件生成新数组(新数组shape与原数组相同) 下面简单总结. 生成子数组 情况1 已知数组a,以及若干筛选条件conds,要求从数组a中生成一个子数组b。 解决办法:b=a[conds]。比如b=a[a>0],b=a[(a>=1)|(a...

碧海蓝天 4248

PyTorch实战(30)——使用TorchScript和ONNX导出通用PyTorch模型

在本节中,我们将深入探讨使用 TorchScript 导出 PyTorch 模型。通过序列化,TorchScript 使模型与 Python 生态系统独立,从而使得模型可以在其他环境中加载,例如基于 C++ 的环境。我们还跨越 Torch 框架与 Python 生态的边界,研究机器学习通用开放格式 ONNX,该技术能帮助我们将 PyTorch 训练的模型导出至非 PyTorch 甚至非 Python 环境。

盼小辉丶的博客 3504

实验三Numpy知识点总结

numpy两个数组的相加、相减以及相乘都是对应元素之间的操作。当两个数组的形状并不相同的时候,我们可以通过扩展数组的方法来实现相加、相减、相乘等操作,这种机制叫做广播(broadcasting)。numpy两个数组的相加、相减以及相乘都是对应元素之间的操作。a2 + b2a2 + b1结果一样,虽然两个数组的维数不一样,但是Numpy检测到b的维度与a的维度匹配,随意将b扩展为之前的形式,得到相同的形状。对于更高的维度,这样的扩展依然有效。将a变成一个列向量[10],[20],[30]])

weixin_56301399的博客 4940

打通ZYNQ的任督二脉:AXI_FIFO数据交互全解析

FIFO(First In First Out,先进先出)是一种经典的数据缓冲结构,就像排队买票一样,先来的人先得到服务。时钟域交叉(CDC):连接不同时钟频率的模块数据缓冲:平衡生产者和消费者的速度差异流量控制:防止数据丢失或溢出input clk,// 输入AXI4-Stream接口(从PS到PL)// 输出AXI4-Stream接口(从PL到PS)// 状态指示信号// 定义状态机状态// 数据缓存// 8个深度的缓存// 流水线处理寄存器。

QQ_778132974的博客 305

dToF直方图之美_deadtime死区时间

IMX459的死区时间可以在6ns,这个时间是什么级别,车载激光雷达激光器的光脉宽一般都在4ns以上,也就是这个时间贴近去SPAD的死区时间,这就导致了pile up会非常弱,不会有太多数量的光子计数堆积,加上某些SPAD设计,对TDC有一些更深入的考量,所以不需要去校正pile up算法。Sensor层面决定了pile up的复杂程度,如果一个dToF的SPAD一致性非常好,那么pile up校正可以简单到极致,也就是一句代码的事,比如IMX611,优秀到不需要后端去考虑校正pile up。

致力于lidar应用开发 2147

比较二维数组列最小值,组成一个新数组返回

第七题 比较二维数组列最小值,组成一个新数组返回。(实现核心算法,不需要使用IO) 输入:intArr = {{5,6,1,16},{7,3,9}} 输出:intArrs ={1,3} import java.util.Arrays; /** * 比较二维数组列最小值,组成一个新数组返回。(实现核心算法,不需要使用IO) * 输入:intArr = {{5,6,1,16},{7,3,9}} * 输出:intArrs ={1,3} * @author lx */ public class Test

lenglovexu的博客 395

RK3566/RK3568 Android 11 无操作自动隐藏导航栏、底部上拉显示导航栏

RK3566/RK3568 Android 11 定制大全在系统服务中增加无操作自动隐藏导航栏方法,在上层app动态调用无操作自动隐藏导航栏方法,系统会在5秒无操作后自动隐藏导航栏,隐藏导航栏后从底部上拉可显示导航栏,设备关机和重启后也能继续生效。

qq_23921815的博客 1259

Python数据科学手册:NumPy入门指南

Python数据科学手册:NumPy入门指南 【免费下载链接】PythonDataScienceHandbook jakevdp/PythonDataScienceHandbook: 是一个 Python 数据科学指南,旨在帮助初学者和专业人士了解和掌握数据科学的基本概念和技能。适合对数据科学和机器学习感兴趣的人员,尤其...

gitblog_00039的博客 514

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jre9下载 jdk9

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

NumPy 入门:Python 数据科学的基础

NumPy 是 Python 数据科学中最受欢迎的工具包之一,它提供了高效的数组操作和数学函数,使得 Python 数据科学变得更加简单和高效。本文将介绍 NumPy 的基本概念和使用方法,以及如何使用 NumPy 进行数据分析和机器学习。

2201_75694926的博客 211

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

数据科学中的Python:NumPy和Pandas入门指南

NumPy是用于科学计算的基础包,提供了高性能的多维数组对象()和用于处理这些数组的工具。# 创建一个一维数组# 打印数组# 数组形状# 数组类型# 访问元素# 数组运算以上代码创建了一个一维数组,展示了数组的形状、类型、访问元素以及简单的数组运算。NumPy的强大之处在于其支持高效的向量化操作,使得对整个数组进行操作更为方便。Pandas是建立在NumPy之上的数据处理库,提供了灵活的数据结构(DataFrame)以及用于数据操作和分析的工具。# 创建一个简单的DataFrame。

一键难忘的博客 4811

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

NumPy 入门到精通:Python 数据科学的基石

NumPy是Python数据科学的“地基”。本篇从0起步,系统梳理ndarray创建、索引、广播、常用函数与灰度图实战,并给出可复制的代码与进阶路线,帮你高效入门NumPy,为Pandas、SciPy、机器学习打下坚实基础

2402_84738739的博客 340

Python数据科学读书笔记1--Numpy入门(1)

Python数据科学 为什么使用Python: Python之所以能在数据科学领域广泛使用,主要是因为它的第三方程序包拥有庞大而活跃的生态系统: Numpy – 可以处理同类型数组型数据 Pandas – 可以处理多种类型带标签的数据 SciPy – 可以解决常见的科学计算问题 Matplotlib – 可以绘制可用于印刷的可视化图形 IPython --可以实现交互式编程和快速分享代码 S...

初一的博客 343

python数据科学系列:numpy入门详细教程

导读python数据科学基础库主要是三剑客:numpy,pandas以及matplotlib,每个库都集成了大量的方法接口,配合使用功能强大。平时虽然一直在用,也看过很多教程,但纸上得来...

python爬虫人工智能大数据 833

python数据科学系列之numpy入门详细教程

当然,维度相等时相当于未广播,所以严格的说广播仅适用于某一维度从1广播到N;如果当前维度满足广播要求,则同时前移一个维度继续比较。为了直观理解这个广播条件,举个例子,下面的情况均满足广播条件:

优快云_430422的博客 735

【Python数据科学】第二章 NumPy 入门

import numpy as np np.__version__ '1.18.1' 1、理解Python中的数据类型 1.1、Python中的固定类型数组 import array L = list(range(10)) A = array.array('i', L) # i 是一个数据类型码,表示数据为整数 A array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 1.2、从Python列表创建数组 # 整型数组 np.array([1, 4, 2, 5, 3])

惟忆 4万+

Python 与数据科学工具链入门:NumPy、Pandas、Matplotlib 快速上手

本文介绍了Python数据科学三大核心工具(NumPy、Pandas、Matplotlib)的快速入门方法。首先强调了工具链的重要性,指出NumPy提供高效的数值计算,Pandas简化数据处理,Matplotlib实现数据可视化。文章详细讲解了如何搭建开发环境(推荐Anaconda),并通过实际代码示例演示了NumPy数组操作、Pandas数据框处理以及数据清洗技巧。这些工具共同构成了机器学习项目的基础设施,掌握它们能显著提高数据分析和建模效率。

htw250056的博客 4381

Python数据科学学习笔记之——NumPy入门

NumPy 入门 1、理解 Python 中的数据类型 1.1、Python 整型不仅仅是一个整型 标准的 Python 实现是用 C 语言编写的。这意味着每一个 Python 对象都是一个聪明的伪 C 语言结构体,该结构体不仅包含其值,还有其他信息。例如:当我们在 Python 中定义一个整型,例如:x = 10000 时,x 并不是一个 “原生” 整型,而是一个指针,指向一个 C 语言的复合结构体,结构体里包含了一些值。 查看 Python 源代码,可以发现整型(长整型)的定义,如下: struct _

前尘忆梦的博客 445

NumPy入门到实战:为什么它是Python数据科学的基石?

NumPy 是每一个 Python 数据工作者必须掌握的工具。它不仅是其他高级库的基石,也是你写出高效、优雅代码的关键。NumPy 是每一个 Python 数据工作者必须掌握的工具。它不仅是其他高级库的基石,也是你写出高效、优雅代码的关键。

2402_84595900的博客 902
上一篇: 一行python代码写九九乘法表,1,2,3…到100的和,交换两个变量的值
下一篇: python数据科学--pandas入门
爱做呢!~
博客等级 码龄10年 88粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值