numpy-就这些就够了

Numpy快速入门(np)!看这一篇就够了 阅读详情

创建数组

import numpy as np
import math


# 创建数组对象 ndarray
a = np.arange(10)
print(a)
print(type(a))

# 对ndarray对象类型进行向量处理 sqrt 开平方
print(np.sqrt(a))

b = list(range(10))
c = []
for i in b:
    c.append(math.sqrt(i))
print(c)
import numpy as np


# 使用array函数创建一维数组1
a = np.array([1, 2, 3, 4])
print(a)
print(type(a))

# 使用array函数创建一维数组2
a1 = np.array([1, 2, 3, 4], dtype=float, ndmin=1)
print(a1)
print(type(a1))

# 使用array函数创建二维数组
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(b)
print(type(b))

# 使用array函数创建三维数组
c = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]]])
print(c)
print(type(c))
import numpy as np


# 使用arange创建数组
a = np.arange(1, 11)
print(a)

b = np.arange(1, 11, 2)
print(b)

print(type(a))
import numpy as np


# 使用random创建一维数组[0.0, 1.0)
a = np.random.random(size=5)
print(a)
print(type(a))

# 使用random创建二维数组[0.0, 1.0)
b = np.random.random(size=(3, 4))
print(b)
print(type(b))

# 使用random创建三维数组[0.0, 1.0)
c = np.random.random(size=(2, 3, 4)) # 两个3行4列
print(c)

# 随机整数生成一维数组
d = np.random.randint(5, 10, size=10)
print(d)

# 二维
e = np.random.randint(3, 9, size=(4, 3))
print(e)

# 三维
f = np.random.randint(9, size=(2, 4, 3))
print(d.dtype)
print(f)
import numpy as np


# 创建标准的正态分布 期望为0, 方差为1
# 一维
a = np.random.randn(4)
print(a)
print(type(a))

# 二维
b = np.random.randn(2, 3)
print(b)

# 三维
c = np.random.randn(2, 3, 4)
print(c)

# 创建指定期望值和方差的正态分布
d = np.random.normal(loc=4, scale=3, size=(2, 3, 4))
print(d)
import numpy as np


a = np.array([1, 2, 3, 4, 5])

b = np.arange(6, 11)
c = np.random.random(5)
d = np.random.randint(100, 200, size=5)
e = np.random.randn(10)
f = np.random.normal(loc=3, scale=4, size=5)


# print(a)
# print(b)
# print(c)
# print(d)
# print(e)
# print(f)
print("ndim:", a.ndim, b.ndim, c.ndim, d.ndim)   # ndim 空间维数
print("shape:", a.shape, b.shape)                # shape 形状
print("dtype", a.dtype, b.dtype, c.dtype)
print("size", a.size, b.size, c.size, d.size, e.size, f.size)
print("itemsize:", a.itemsize, b.itemsize, c.itemsize)  # itemsize 每个元素所占的字节
import numpy as np

# 用0填充
a = np.zeros(5)
b = np.zeros((5, 5))
# 用1填充
c = np.ones(5)
# 创建空
d = np.empty((3, 3), dtype=int)
# np.linspace(start, stop, num=50, (endpoint=True  包括的), retstep=False, dtype=None)
# 该函数用于创建一个一维数组,数组是由一个等差数列构成的
e = np.linspace(1, 5, 10, endpoint=False)
# logspace (start, stop, num=50, endpoint, base, dtype) 创建等比数列
f = np.logspace(0, 9, 10, base=2)


print(a)
print(b)
print(c)
print(e)
print(d)
print(f)

一维数组切片

import numpy as np


# 一维数组的切片
a = np.arange(10)
print(a)
b = a[1::2]
print(b)
print(a[2])
print(a[-2])

二维数组切片

import numpy as np


a = np.arange(1, 13)
print(a)
# 一维数组转换成二维数组
x = a.reshape(4, 3)
print(x)
# 获取二维数组的第二行, 索引是从0开始的
print(x[1])
# 获取二维数组的第三行第二列
print(x[2][1])

# 切片的使用[行进行切片,列进行切片] [start:stop:step, start:stop:step]
# 获取所有行部分列
print(x[:, 1])
# 获取奇数行所有列
print(x[::2, :])
# 获取奇数行偶数列
print(x[::2, 1::2])

# 使用坐标获取数组[x, y]元素
print(x[2, 1])
# 同时获取第三行第二列,第四行第一列
print(x[2, 1], x[3, 0])
# 获取到的元素组成新的数组
print(np.array((x[2, 1], x[3, 0])))

# 负索引的使用
print("最后一行")
print(x[-1])
print("行倒序")
print(x[::-1])
print("行列倒序")
print(x[::-1, ::-1])

数组的复制, 深浅拷贝

import numpy as np


a = np.arange(1, 37).reshape(6, 6)
print(a)

b = a[0:2, 0:2]
print(b)

# 切片操作,对b的值进行修改,a的值也改变 是浅拷贝
b[0][0] = 100
print(b)
print(a)

# 深拷贝
c = np.copy(a[:2, :2])
print(c)

c[0][0] = 300
print(c)
print(b)

维度转换

import numpy as np


# 通过a.reshape变多维
a = np.arange(1, 37)
b = a.reshape(6, 6)
c = a.reshape(2, 3, 6)

# 通过np.reshape修改为多维
d = np.reshape(a, (2, 18))

print(a)
print(b)
print(c)
print(d)

# 1. 多变一
a1 = c.reshape(36)
# 2. 或者
a2 = c.reshape(-1)
print("3. 通过函数ravel")
a3 = c.ravel()
print("4. 通过flatten")
a4 = c.flatten()


print(a1)
print(a2)
print(a3)
print(a4)

数组的拼接

import numpy as np


a = np.arange(1, 13)
print(a)
a2 = a.reshape(4, 3)
print(a2)

b = np.arange(113, 125)
print(b)
b2 = b.reshape(4, 3)
print(b2)

print("水平拼接,用hstack, 注意一定要加[a2, b2], (a2, b2)也行")
c = np.hstack((a2, b2))
print(c)
print("垂直拼接vstract")
d = np.vstack([a2, b2])
print(d)
print("使用concatenate拼接,默认exis=0效果和vstract相同")
e = np.concatenate((a2, b2), axis=0)
print(e)
print("exis=1, 相当于hstract水平拼接")
f = np.concatenate((a2, b2), axis=1)
print(f)

print("三维数组有三个轴 axis= 0 1 2")
a3 = np.arange(1, 13).reshape(2, 2, 3)
b3 = np.arange(101, 113).reshape(2, 2, 3)
print(a3)
print(b3.shape)
c3 = np.concatenate((a3, b3), axis=0)
print(c3)
print(c3.shape)
d3 = np.concatenate((a3, b3), axis=1)
print(d3)
print(d3.shape)
e3 = np.concatenate((a3, b3), axis=2)
print(e3)
print(e3.shape)

数组的分割split

import numpy as np


print("一维数组的分割")
a = np.arange(1, 17)
print(a)
print(type(a))
b = np.split(a, 4)
print(b)
print(type(b))
print("像下面如果传递数组,就是分为3份")
c = np.split(a, [3, 5])
print(c)
print(type(c))
a2 = a.reshape(4, 4)
print(a2)
m = np.split(a2, 2)
print(m, type(m))
n = np.split(a2, 2, axis=1)
print(n)
print(type(n))
print("还有hsplit和vsplit")

数组转置

import numpy as np


print("数组的转置")
a = np.arange(1, 25).reshape(8, 3)
print(a)
print("transpose函数")
b = a.transpose()
print(b)
print("对于二维数组,也可以使用a.T转置")
c = a.T
print(c)
print("使用np.transpose()转置")
d = np.transpose(a)
print(d)
print("多维数组进行转置a[i][j][k],默认的将i和K交换 (下标2, 1, 0)")
a3 = np.arange(1, 25).reshape(2, 3, 4)
b3 = np.transpose(a3)
print(b3)
print(b3.shape)
print("多维数组转换")
c3 = np.transpose(a3, (1, 2, 0))
print(c3)
print(c3.shape)

数组的+,-,x,/, 三角函数

import numpy as np


print("数组的+, -, x, /")
print("加法")
a = np.arange(9).reshape(3, 3)
b = np.array([10, 10, 10])
print(a + b)
print(np.add(a, b))

print("减法")
print(b - a)
print(np.subtract(a, b))

print("乘法, out参数的使用")
y = np.empty((3, 3))
print(y)
np.multiply(a, 10, out=y)
print(y)

print("除法,同乘法")
np.divide(a, 10, out=y)
print(y)
print("三角函数")
a = np.array([0, 30, 60, 90])
print(np.sin(a * np.pi/180))
import numpy as np


a = np.array([0, 30, 60, 90])
print(np.sin(a * np.pi/180))

print("四舍五入函数, decimals: 舍去的小数位数,默认为0, 如果为负将四舍五入到小数点左侧的位置")
a1 = np.array([1.0, 4.45, 123, 0.657, 25.532])
aa = np.around(a1, decimals=1)
print(aa)
print("numpy.floor(), 返回数字的下舍整数")
a2 = np.floor(a1)
print(a2)
print("numpy.ceil(), 返回数字的上入整数")
a3 = np.ceil(a1)
print(a3)

print("统计函数:")
print("power", np.power(a, 2))
x = np.arange(5)
y = np.zeros(10)
np.power(2, x, out=y[:5])
print(y)

print("中位数:排完序后 偶数中间两个数的平均值,奇数是中间的数:median()", np.median(x))
print("二维数组 要通过axies指定轴, 0表示轴垂直, 1为水平方向, ", np.median(a, axis=0))
print("求平均值,mean", np.mean(a))
print("sum max min", np.max(a), np.sum(a), np.min(a))
print("argmin:最小值的下标,argmax: 最大值的下标", np.argmax(a), np.argmin(a))
NumPy数组维度的axis参数理解及示例源代码 axis参数的取值范围是根据数组的维度而定的。以此类推,对于更高维度的数组,axis参数的取值范围也会相应增加。axis参数在NumPy的许多函数中都会出现,它用于指定在哪个维度上进行操作。理解和正确使用axis参数对于正确处理数组非常重要,下面我们将详细介绍axis参数的使用方法,并提供一些示例源代码。在NumPy中,我们经常需要指定数组的维度来进行各种操作,而axis参数就是用来指定维度的一个重要参数。通过指定不同的axis值,我们可以在不同的维度上进行操作,并得到相应的结果。axis参数的示例代码。 阅读详情

相关推荐

DFT与机器学习协同设计高效光催化剂:从电子结构到性能预测

密度泛函理论(DFT)作为计算材料学的基石,通过求解Kohn-Sham方程,能够在原子尺度精确预测材料的电子结构、能带和光学性质,为理解光催化等能源材料的微观机理提供了关键视角。其核心价值在于替代传统试错法,实现材料性能的理性设计与机理揭示。在工程实践中,面对高通量筛选的需求,机器学习(ML)技术,特别是长短期记忆网络(LSTM)这类擅长处理序列数据的模型,能够学习从材料描述符到复杂性能(如光谱)的映射关系,实现快速性能预测与优化。这种DFT与ML的结合范式,正广泛应用于新能源材料、半导体器件等领域,用于高

weixin_30662937的博客 662

numpy模块之axis

numpy模块之axis的含义numpy是python进行科学计算必不可少的模块,随着深度学习越来越火,numpy也越来越流行。了解numpy的人知道,在numpy中,有很多的函数都涉及到axis,很多函数根据axis的取值不同,得到的结果也完全不同。可以说,axis让numpy的多维数组变的更加灵活,但也让numpy变得越发难以理解。这里通过详细的例子来学习下,axis到底是什么,它在numpy中

fangjian1204的专栏 2万+

PX4/ArduPilot源码克隆提速秘籍:国内镜像与子模块优化全攻略

本文详细介绍了PX4/ArduPilot源码克隆的提速秘籍,包括使用国内镜像源和子模块优化技巧。通过阿木实验室、华为云等国内镜像,克隆速度可提升20倍,同时提供子模块替换和并行编译等实用方法,大幅提升开发效率。

weixin_29251567的博客 524

NumPy学习笔记 - “切片法”理解多维矩阵

简介 NumPy库主要用于数组(矩阵)计算,包含: 一个强大的N维数组对象 ndarray 广播功能函数 整合 C/C++/Fortran 代码的工具 线性代数、傅里叶变换、随机数生成等功能 如何理解数组,尤其是多维数组及NumPy中的AXES(Dimensions, Rank)和Axies(Dimension)等概念,是掌握NumPy的基础。 在我个人的学习过程中发现,如果按传统的行列的概念...

steventian72的博客 1593

【通信协议】I2C总线(一主多从)

I2C总线(一主多从)之软件模拟代码详解

m0_75090944的博客 9844

手把手教你解决Windows 10网络驱动器无法访问问题(附详细排查步骤)

本文详细指导Windows 10用户解决网络驱动器无法访问的常见问题。通过从现象快速定位到系统排查,提供了从检查网络连通性、修复凭据权限到调整高级设置的完整步骤,特别是针对“找不到网络路径”等错误,帮助用户高效恢复对共享资源的访问。

weixin_29233857的博客 518

numpy, pandas 中 axis 概念和运算过程解析

numpy, pandas 中 axis 概念和运算过程解析 numpy 中有一个 axis 概念,多维数组运算时,我们常被 axis 弄晕! 本文尝试在2维平面的表格中解析 numpy 4-d array 的运算过程。 在 numpy, pandas 中,很多函数,尤其是一些描述统计函数都有一个 axis 参数。axis参数的不同,会得到不同的运算结果。 pandas中的axis来源于 numpy, 两者的含义和规则是一样的。 所以我们理解了 numpy 的 axis,对 pandas 中的 axis 参

Python草堂的博客 1890

详解从无人机倾斜实景三维建模→模型修复→成果网络发布展示分享全流程

1、倾斜实景三维建模软件:CC(Smart3D)软件2、实景三维模型网页在线发布展示、分享平台:图新地球网页端(Wish3D·Earth平台)图新地球网页端(Wish3D·Earth平台)是基于 WebGL技术研发的国产实景三维模型Web端发布展示平台,可实现TB级倾斜实景三维数据快速加载,支持多种格式的三维模型,如OSGB实景模型、OBJ人工模型、SKP人工模型、RVT格式BIM模型等,同时支持模型单体化、三维模型测量分析、水面特效、日照分析等特殊效果呈现,此外也可以根据您的需要进行本地化部署级功能定制。

GISWorld3D的博客 4379

一文搞懂numpy中的axis

搜索微信公众号:‘AI-ming3526’或者’计算机视觉这件小事’ 获取更多AI干货 csdn:https://blog.youkuaiyun.com/abcgkj github:https://github.com/aimi-cn/AILearners 1.为什么要设计axis? numpy是个多维数组,多维数组运算需要指定到底对哪一维操作,因此axis就是用来指定需要操作的维数。 2.二维数组示例 &...

abcgkj的博客 588

Win10系统下AppScan 10.0.0安装破解全流程(附百度网盘资源)

本文详细介绍了在Windows 10系统上安装和配置AppScan 10.0.0进行Web漏洞扫描的完整流程。内容涵盖环境准备、分步安装、核心文件部署、许可证配置及首次扫描实践,旨在帮助开发人员和安全爱好者快速搭建专业的Web应用安全扫描环境,并提升扫描效率。

u8v9w0x1y的博客 367

Zemax API 与 Python 的独立应用程序

Zemax 提供了多个 python 示例代码,位于 Documents\Zemax\ZOS-API Sample Code\Python。使用以下代码,它们保存在 ZOS 文件目录中:/Documents\Zemax\Samples\API\Python。此代码块定位已安装的 OpticStudio 版本,确定根目录,创建命名空间和类,加载局部变量。如果定义的镜头需要一些特殊的编辑,例如反转,一种快速方法是从位于编程选项卡的 ZOS-API 语法帮助中找到相应的命令。重新运行整个代码块,镜头方向会改变。

jkh920184196的博客 1978

python numpy看这一篇就够了

numpy科学计算工具numpy基础ndarray 多维数组(N Dimension Array)ndarray的随机创建ndarray的序列创建ndarray的数据类型ndarray的矩阵运算ndarray的索引与切片ndarray的维数转换numpy中的nan和infndarry缺失值填充均值数组的拼接数组的行列交换numpy中常用统计函数元素判断函数元素去重排序函数numpy读取数据 num...

HMH2_YY的博客 1165

从 RAP OData 到可交付的 SAP Fiori 应用:部署与授权全链路实战笔记

摘要:本文探讨了RAP开发中常见的交付误区,指出开发者预览(FEAP)并非可部署应用,强调从服务发布到业务应用落地的完整链路。文章详细对比了不同部署路径(ABAP/BTP),解析权限管理关键点(SAP_BR_DEVELOPER的临时性),并提供了标准授权组合方案(IAM+业务目录+角色)。通过"发运跟踪"案例,展示了从开发验证到生产部署的全流程,特别提醒注意开发环境与生产环境的权限差异,避免"开发机正常、生产机403"的典型问题。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1402

图解NumPy,看这一篇就够了!

晓查 编译整理量子位 报道 | 公众号 QbitAINumPy是Python的最重要的扩展程序库之一,也是入门机器学习编程的必备工具。然而对初学者来说,NumPy的大量运算方法非常难记...

Python编程与实战的博客 1245

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【numpy一篇就够了】

python系列之numpy

Wzanzan的博客 794

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【从零开始的numpy之旅】学习numpy看这篇就够了

本文涵盖几乎所有的Numpy知识点。并且在一些难懂的知识点上做了详细的教程,以帮助各位读者理解。若对你有帮助还请关注加收藏

qq_69783663的博客 847

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Numpy统计计算、数组比较,看这篇就够了

导读:工欲善其事,必先利其器。此前,我们在《玩数据必备Python库:Numpy使用详解》一文中介绍了利用Numpy进行矩阵运算的方法,本文继续介绍Numpy的统计计算及其他科学运算的方法。 作者:魏溪含 涂铭 张修鹏 来源:大数据DT(ID:bigdatadt) 01 Numpy的统计计算方法 NumPy内置了很多计算方法,其中最重要的统计方法...

大数据 1万+

卧槽!图解NumPy,这一篇就够了

点击 机器学习算法与Python学习 ,选择加星标精彩内容不迷路晓查 编译整理量子位 报道 | 公众号 QbitAINumPy是Python的最重要的扩展程序库之一,也是入门机器学习编...

机器学习算法与Python学习 1145

numpy详细教程(涵盖全部,看这一篇就够了)

numpy安装到使用,看这一篇完全够了,不带一点废话

m0_74344139的博客 16万+

numpy 建立空数组_卧槽!图解NumPy,这一篇就够了

点击 机器学习算法与Python学习 ,选择加星标精彩内容不迷路晓查 编译整理量子位 报道 | 公众号 QbitAINumPy是Python的最重要的扩展程序库之一,也是入门机器学习编程的必备工具。然而对初学者来说,NumPy的大量运算方法非常难记。最近,国外有位程序员讲NumPy的基本运算以图解的方式写下来,让学习过程变得轻松有趣。在Reddit机器学习社区发布不到半天就收获了500...

weixin_36329414的博客 1093

学习numpy这一篇就够了!含泪硬肝万字总结~

高效学习NumPy基础创建数组numpy.array(object, dtype,copy, order, subox, ndmin)numpy.arange(start, stop, step, dtype)numpy.linspace(start, stop, num)numpy.logspase(start,stop,num)numpy.zeros(shape,dtype,order)numpy.eye(N,M, K,dtype,order)numpy.diag(V,K)numpy.ones(shap

我不是秃头的博客 1830

python3.7对应的numpy版本_图解NumPy包一文就够了

在之前的生信分析方向如何系统入门python3推文最后,我们提到了python有很多好用的模块和加载包,也正因为这些,所以才使得python能够灵活多场景处理分析。整合最近学习的一些内容,借以 Jay Alammar的博客,就来介绍一下其中一个基础数据处理包 NumPy吧。今天的推送大纲如下:不难发现,Numpy主要用于数据分析,整体的模式有点类似于小型的R,在读取和处理数据上略占优势,...

weixin_39622988的博客 9114

array用法 numpy_Numpy统计计算、数组比较,看这篇就够了

导读:工欲善其事,必先利其器。此前,我们在《玩数据必备Python库:Numpy使用详解》一文中介绍了利用Numpy进行矩阵运算的方法,本文继续介绍Numpy的统计计算及其他科学运算的方法。作者:魏溪含 涂铭 张修鹏如需转载请联系华章科技01 Numpy的统计计算方法NumPy内置了很多计算方法,其中最重要的统计方法及说明具体如下。sum():计算矩阵元素的和;矩阵的计算结果为一个一维数组,需要指...

weixin_32315511的博客 653

【无痛学Python】NumPy基础,看这一篇就够了!

NumPy是Python的一种开源的数值计算扩展库,包含很多功能,如创建n维数组(矩阵)、对数组进行函数计算、数学计算等等。使用进行导入。标准的Python用List(列表)保存值,可以当作数组使用,但是因为列表中元素可以是任何对象,就导致了CPU运算时间和内存会大大增长。ndarray:存储单一数据类型的多维数组ufunc:一种能够对数组进行处理的函数这两种对象完美解决了由于任何对象带来的时间和空间的问题,大大提高了运行效率。

Skrrapper的博客 1251

numpy 基础 这一篇就够了

我听到的会忘记,我看到的能记住,我做过的才真正明白. import numpy as np ndarray 是Numpy最重要的一个特点,ndarray是一个通用的同构数据多维容器,也就是说其中的所有元素必须是相同类型的。 创建方法:使用array函数。可以接受一切序列型的对象。 In [4]: import numpy as np In [5]: data=[123,435,7] ...

code_new_life的博客 384
上一篇: linux系统操作3文件查看
下一篇: pandas-学习
dingpython
博客等级 码龄6年 5粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值