最新要闻
- 今日热搜:开放中国依然是外商投资高地
- 每日动态!晋升第一人口大国后 印度将成为全球第一大手机市场:多谢苹果
- 不是录播!梅西即将在淘宝开启首次直播
- 华为又背锅?理想粉丝暗指华为发动舆论攻击:李想出面澄清
- 亚运会倒计时101天!杭州开通“亚运号”定制专列
- 国内最畅销SUV排名出炉:特斯拉Model Y反超比亚迪宋Plus拿下第一
- 让电池新规为电动自行车加把“安全锁” 全球热点评
- 全球动态:21℃室温超导成果被美院士宣称复现!南大教授:有3点质疑
- 全球报道:吉利高管评理想学华为:华为是时代的产物 但时代变了
- 全球今日报丨Vision Pro商标被华为注册!专家:苹果要么求华为和解 要么中国市场改名
- 王鸿薇反击林飞帆退选还推责任 毫无担当 每日视点
- 快看:0-500公里仅需20.16秒!布加迪火流星正式亮相勒芒赛场
- 锐龙7 7800X3D搭配A620主板实测:游戏性能依旧胜过i9-13900KS
- 能打过理想L7?丰田新款汉兰达上市:26.88万起-新资讯
- 焦点热讯:Nothing Phone (2) 定档7月11日:比亚迪代工
- 世界热讯:无惧A卡狠降价!英伟达RTX 4060国内上市时间曝光:2399元秒抢光?
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
【技术积累】Python中的NumPy库【二】|天天滚动
NumPy库的主要类有哪些?
NumPy库的主要类包括:
ndarray:N维数组对象,是NumPy最重要的类之一。它是Python中数组的基本数据结构,可以进行高效的数学计算和数据处理操作。
ufunc:通用函数对象,是NumPy库中的另一个重要类。它是一种高效的元素级运算工具,提供了基本的数学运算、逻辑运算和位运算等基本的数学和逻辑操作。
(相关资料图)
linspace:生成一定数量的等差数列,返回一个一维数组。
meshgrid:用于生成二维的坐标矩阵,常用于三维绘图和计算机图形学等领域。
random:随机数生成器,提供了众多生成随机数和随机样本的函数,常用于模型训练和数据分析。
matlib:矩阵库,提供了各种矩阵操作和矩阵运算的函数,包括矩阵乘法、矩阵分解和矩阵求逆等。
fft:快速傅里叶变换(FFT)类,提供了高效的傅里叶变换算法,常用于信号处理和图像处理等领域。
poly:多项式类,提供了多项式求解、多项式拟合和多项式积分等数学运算。常用于数据拟合和模型建立。
linalg:线性代数类,提供了各种线性代数运算的函数,包括矩阵求逆、特征值求解和奇异值分解等。常用于数据分析和机器学习等领域。
NumPy库和Python自带的列表有什么区别?
NumPy库是Python中用于科学计算和数学计算的常用库,它提供了多维数组对象和各种数学函数和操作。相比于Python自带的列表,NumPy数组具有以下几点优势:
内存占用少:NumPy数组中的所有元素都是相同的数据类型,因此内存占用更小,运行速度更快。
数组操作方便:NumPy数组可以进行各种数学运算和逻辑运算,例如矩阵乘法、数组切片、数组重塑等操作,这些操作可以在不使用循环的情况下完成。
广播功能:NumPy数组可以进行广播操作,即对形状不同的数组进行相应的操作,这大大减少了数组形状不同需要循环处理的情况。
而Python自带的列表则是一种基本的数据结构,可以存储任意的对象。相较于NumPy数组,其灵活性更高,可以进行各种操作,同时也更容易理解和使用。但列表的操作性能在大型数据集时会比NumPy数组慢。
如何将Python数列转换为NumPy数组?
将Python数列(即列表)转换为NumPy数组可以使用NumPy库中的array()函数。该函数接受一个列表参数,返回一个NumPy数组。
下面是一个示例代码:
import numpy as np# 定义一个Python数列lst = [1, 2, 3, 4, 5]# 转换为NumPy数组arr = np.array(lst)# 输出结果print(arr)
输出结果为:
[1 2 3 4 5]
在上面的代码中,我们首先导入了NumPy库。然后,我们定义了一个Python数列lst。接着,我们使用array()函数将lst转换为NumPy数组arr。最后,我们输出了arr的值。
注意,当我们将Python数列转换为NumPy数组时,NumPy会自动根据数列中的值的类型来推断生成的数组的数据类型。例如,上面的代码中lst是一个包含整数的数列,因此生成的数组也是整数类型的。如果数列中包含浮点数,则生成的数组将是浮点数类型的。
NumPy库中的数组是什么?有哪些特征?如何创建
NumPy库中的数组是一种多维数组对象,又称为ndarray。这些数组是用来存储相同数据类型的元素(例如int、float等),它是一个可变的对象,可以在其中进行快速且有效的数据操作。
以下是NumPy数组的一些特征:
- 数组是一种类似于列表的对象,但在NumPy中,它们可以包含更多的维度。
- 数组中的元素必须是相同的类型。
- NumPy数组的大小是固定的,也就是说,一旦创建,就无法再加入新元素。
- 数组可以通过下标访问,也可以使用NumPy提供的高效的函数对数组进行操作。
以下是创建NumPy数组的几种方式:
1. 通过列表创建
import numpy as npa = np.array([1, 2, 3]) # 一维数组b = np.array([[1, 2, 3], [4, 5, 6]]) # 二维数组
2. 通过arange函数创建
import numpy as npa = np.arange(10) # 生成一维数组[0 1 2 3 4 5 6 7 8 9]b = np.arange(0, 10, 2) # 生成一维数组[0 2 4 6 8],步长为2c = np.arange(12).reshape(3, 4) # 生成二维数组
3. 使用zeros和ones函数创建
import numpy as npa = np.zeros(5) # 生成一维数组[0. 0. 0. 0. 0.]b = np.zeros((2, 3)) # 生成二维数组c = np.ones((2, 4, 3)) # 生成三维数组,全部元素为1
4. 使用random函数创建
import numpy as npa = np.random.rand(3) # 生成一维数组,元素是[0, 1)之间的随机数b = np.random.randn(3, 2) # 生成二维数组,元素是标准正态分布的随机数c = np.random.randint(1, 10, size=(2, 3)) # 生成二维数组,元素是1-10之间的随机整数
如何使用NumPy数组进行算术运算
import numpy as np# 创建两个NumPy数组a = np.array([1, 2, 3])b = np.array([4, 5, 6])# 加法c = a + bprint("加法:", c) # [5 7 9]# 减法c = a - bprint("减法:", c) # [-3 -3 -3]# 乘法c = a * bprint("乘法:", c) # [ 4 10 18]# 除法c = a / bprint("除法:", c) # [0.25 0.4 0.5 ]# 指数c = np.power(a, 2)print("指数:", c) # [1 4 9]# 平方根c = np.sqrt(a)print("平方根:", c) # [1. 1.41421356 1.73205081]# 取反c = -aprint("取反:", c) # [-1 -2 -3]
如何使用NumPy数组进行三角函数运算?
import numpy as np# 创建一个长度为10的一维NumPy数组arr = np.array([0, np.pi/6, np.pi/4, np.pi/3, np.pi/2, np.pi, 3*np.pi/2, 2*np.pi/3, 3*np.pi/4, 5*np.pi/6])# 计算数组中每个元素的正弦值sin_arr = np.sin(arr)print("sin函数结果:", sin_arr)# 计算数组中每个元素的余弦值cos_arr = np.cos(arr)print("cos函数结果:", cos_arr)# 计算数组中每个元素的正切值tan_arr = np.tan(arr)print("tan函数结果:", tan_arr)
输出结果:
sin函数结果: [ 0. 0.5 0.70710678 0.8660254 1. 0. -1. -0.8660254 -0.70710678 -0.5 ]cos函数结果: [ 1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01 6.12323400e-17 -1.00000000e+00 -1.83697020e-16 -5.00000000e-01 -7.07106781e-01 -8.66025404e-01]tan函数结果: [ 0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00 1.63312394e+16 -1.22464680e-16 5.44374645e+15 1.73205081e+00 1.00000000e+00 5.77350269e-01]
如何使用NumPy数组进行指数和对数运算?
NumPy数组可以使用exponential(指数)和logarithmic(对数)函数进行指数和对数运算。
exponential函数计算每个元素的指数值,logarithmic函数计算每个元素的自然对数,也可以计算底数为其他常数的对数。
下面是一个简单的例子,演示如何使用NumPy数组进行指数和对数操作。
import numpy as nparr = np.array([1, 2, 3, 4, 5])# 指数运算print("exponential:", np.exp(arr)) # 自然对数print("natural logarithm:", np.log(arr))# 底数为2的对数print("log base 2:", np.log2(arr))# 底数为10的对数print("log base 10:", np.log10(arr))
在上面的例子中,我们创建了一个一维NumPy数组,并使用numpy.exp函数计算每个元素的指数值,使用numpy.log函数计算每个元素的自然对数,使用numpy.log2函数计算底数为2的对数,使用numpy.log10函数计算底数为10的对数。
输出结果如下:
exponential: [ 2.71828183 7.3890561 20.08553692 54.59815003 148.4131591 ]natural logarithm: [ 0. 0.69314718 1.09861229 1.38629436 1.60943791]log base 2: [ 0. 1. 1.5849625 2. 2.32192809]log base 10:[ 0. 0.30103 0.47712125 0.60205999 0.69897 ]
因此,使用NumPy进行指数和对数计算非常简单,只需调用相应的函数即可。
如何使用NumPy数组进行统计运算
NumPy是Python中用于数值计算和科学计算的常用库。它提供了一个称为ndarray的多维数组对象,可以使用它进行统计运算。
以下是一个使用NumPy数组进行统计运算的例子:
import numpy as np# 创建一个随机数组arr = np.random.randn(100)# 计算数组的均值、中位数、标准差和方差mean = np.mean(arr)median = np.median(arr)std_dev = np.std(arr)variance = np.var(arr)print("均值:", mean)print("中位数:", median)print("标准差:", std_dev)print("方差:", variance)
上面的代码创建了一个包含100个随机数的NumPy数组,然后对数组进行了一些统计运算。np.mean()函数计算数组的均值,np.median()函数计算中位数,np.std()函数计算标准差,np.var()函数计算方差。
输出结果可能会因为随机数的不同而有所不同,但通常会接近以下值:
均值: 0.03821741789938476中位数: 0.04451500104648571标准差: 0.9616266701218458方差: 0.9241266652394576
如何使用NumPy数组进行线性代数运算?
NumPy是基于Python的库,主要用于科学计算。NumPy中包含大量的数学函数,以支持矩阵和数组的运算。在NumPy中,数组对象被称为ndarray,可以进行各种数学运算。下面是使用NumPy数组进行线性代数运算的案例:
import numpy as np# 定义 NumPy 数组A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])B = np.array([1, 2, 3])# 计算 A 的逆矩阵A_inv = np.linalg.inv(A)# 求解线性方程组 Ax = Bx = np.linalg.solve(A, B)# 计算 A 和 B 的乘积C = A.dot(B)# 计算 A 和 B 的点积D = np.dot(A, B)# 计算矩阵 A 的行列式det_A = np.linalg.det(A)# 计算矩阵 A 的特征值和特征向量eigenvalues, eigenvectors = np.linalg.eig(A)# 打印结果print("A:")print(A)print("A_inv:")print(A_inv)print("B:")print(B)print("x:")print(x)print("C:")print(C)print("D:")print(D)print("det_A:")print(det_A)print("eigenvalues:")print(eigenvalues)print("eigenvectors:")print(eigenvectors)
这是一个简单的NumPy数组线性代数运算的示例,包括计算逆矩阵、求解线性方程组、计算矩阵乘积、点积、矩阵行列式、特征值和特征向量等等。在NumPy中,还有很多其他的线性代数运算函数可供使用。
如何使用NumPy数组进行傅里叶变换
NumPy中的傅里叶变换函数位于numpy.fft模块中,其中包括傅里叶变换、逆变换和频率域滤波等功能。以下是使用NumPy数组进行傅里叶变换的示例:
import numpy as npimport matplotlib.pyplot as plt# 生成信号fs = 1000 # 采样率t = np.arange(0, 1, 1/fs) # 时间轴f1, f2 = 10, 100 # 两个频率成分s = np.sin(2*np.pi*f1*t) + 0.5*np.sin(2*np.pi*f2*t)# 进行傅里叶变换S = np.fft.fft(s) # 频域信号freqs = np.fft.fftfreq(len(s), 1/fs) # 频率轴# 绘制原始信号plt.subplot(2, 1, 1)plt.plot(t, s)plt.xlabel("Time (s)")plt.ylabel("Amplitude")plt.title("Original Signal")# 绘制频域信号plt.subplot(2, 1, 2)plt.plot(freqs, np.abs(S))plt.xlabel("Frequency (Hz)")plt.ylabel("Magnitude")plt.title("Frequency Domain Signal")plt.show()
在此示例中,我们生成了一个包含两个频率成分的信号,并利用`np.fft.fft()`函数进行了傅里叶变换,得到了信号的频域表示。然后,利用`np.fft.fftfreq()`函数生成了频率轴,最后将时域信号和频域信号绘制在同一张图中进行比较。
需要注意的是,在进行傅里叶变换之前,需要保证信号的采样率是足够高的,以避免出现混淆和重叠的频率成分。此外,傅里叶变换生成的频域信号一般是对称的,因此通常只需要使用其一半进行后续处理和分析。
如何使用NumPy数组进行形状变换?
NumPy提供了多种方法用于数组形状变换。可以使用reshape函数重新构造数组的形状,也可以使用transpose函数交换数组的维度。
示例代码:
import numpy as np# 创建一个包含1~9的一维数组arr = np.arange(1, 10)# 将一维数组重塑为3 X 3的二维数组arr_reshaped = arr.reshape((3, 3))# 输出二维数组print("Reshaped array:\n", arr_reshaped)# 交换二维数组的维度arr_transposed = arr_reshaped.transpose()# 输出交换维度后的数组print("Transposed array:\n", arr_transposed)
输出结果:
Reshaped array: [[1 2 3] [4 5 6] [7 8 9]] Transposed array: [[1 4 7] [2 5 8] [3 6 9]]
在上面的代码中,我们从1到9创建了一个一维数组,并使用reshape函数将其重新整形为3 X 3的二维数组。然后,我们使用transpose函数交换了数组的维度,并输出了结果。
关键词:
【技术积累】Python中的NumPy库【二】|天天滚动
全球快资讯丨Springboot定时任务集成shedLock锁
今日热搜:开放中国依然是外商投资高地
每日动态!晋升第一人口大国后 印度将成为全球第一大手机市场:多谢苹果
不是录播!梅西即将在淘宝开启首次直播
华为又背锅?理想粉丝暗指华为发动舆论攻击:李想出面澄清
亚运会倒计时101天!杭州开通“亚运号”定制专列
国内最畅销SUV排名出炉:特斯拉Model Y反超比亚迪宋Plus拿下第一
天天快看点丨大文件上传功能在标签服务的简单应用和代码实现
Aurelia教程_编程入门自学教程_菜鸟教程-免费教程分享
让电池新规为电动自行车加把“安全锁” 全球热点评
全球动态:21℃室温超导成果被美院士宣称复现!南大教授:有3点质疑
全球报道:吉利高管评理想学华为:华为是时代的产物 但时代变了
全球今日报丨Vision Pro商标被华为注册!专家:苹果要么求华为和解 要么中国市场改名
王鸿薇反击林飞帆退选还推责任 毫无担当 每日视点
快看:0-500公里仅需20.16秒!布加迪火流星正式亮相勒芒赛场
锐龙7 7800X3D搭配A620主板实测:游戏性能依旧胜过i9-13900KS
能打过理想L7?丰田新款汉兰达上市:26.88万起-新资讯
焦点热讯:Nothing Phone (2) 定档7月11日:比亚迪代工
世界热讯:无惧A卡狠降价!英伟达RTX 4060国内上市时间曝光:2399元秒抢光?
理想汽车在重庆成立销售新公司,注册资本1000万|世界观天下
【世界速看料】读发布!设计与部署稳定的分布式系统(第2版)笔记02_停飞的代码异常
每日消息!经典webshell流量特征
华洋赛车北交所IPO成功过会:产品进入美国等50余个国家和地区 参与多项标准起草
全球规模最大!京东亚洲一号第100亿件智能包裹下线
短睡眠者可能“天赋异禀”:每天只需睡四五个小时
东莞暴雨 外卖小哥摔倒人车被水冲走:市民合力营救
最新快讯!特斯拉换电池价格曝光:最贵24.6万元一块 能买一辆奥迪
特斯拉Model Y在上海一大学完全拆解 沉浸教学“三电”原理
环球热点评!word文档如何打千分号 千分号在word上怎么打
数位 DP
【全球时快讯】深度学习应用篇-元学习[13]:元学习概念、学习期、工作原理、模型分类等
直播app源码技术之直播间内消息发送与接收的实现-世界今日讯
真实案例:Feign 切换 okhttp 无法生效,被老大骂的有点慌!
美国CPI进入下行趋势 黄金期货继续维持震荡 全球快看点
李想:很多友商那仨瓜俩枣的销量有啥可干的|天天速讯
男子熬夜喝冰镇饮料被送进ICU 医生从血里抽出一袋油脂:超标200倍 全球看点
环球讯息:西安现最牛司机 车尾标语3月撞7次!奔驰大G、奥迪都被撞过
世界新消息丨美国发布临时禁令:微软收购动视暴雪再次受阻
天津两处居民楼爆炸,致3死多伤!嫌疑人被抓获,作案工具是_环球新资讯
Canvas_绘制线段、圆形、文本、图像、视频、处理图像数据
【项目管理解决方案】上海道宁与Synami帮助您统一所有项目级别的信息,并使所有人轻松访问
Zabbix“专家坐诊”第195期问答汇总_当前看点
XenServer 7 GUI 虚拟机(VM)上的屏幕分辨率怎么提高? 环球简讯
入侵无线App盗用户资料 40岁男子被捕|观察
天天时讯:有无眉毛哪个更好看?哪吒CEO:“去掉眉毛”的哪吒GT将上市
携程梁建章建议:生三胎每月给五六千 给到18岁为止 速讯
15英寸MacBook Air首销破发!渠道价比官网便宜1000多|全球速看
新能源重卡 为何终将颠覆燃油重卡?
华为开发者大会2023早鸟票开售 498元起-全球最资讯
速讯:注意!绿心环线多路段将进行抓拍
MySQL性能分析及工具使用_今日热讯
演唱会买到“柱子票”,可以有更好的解决办法 全球要闻
PCIe 6.0还没用上:PCIe 7.0这就来了!x16速度高达512GB/s-世界滚动
175W功耗释放稳压64℃!铭瑄RTX 4060 Ti iCraft OC8G瑷珈显卡评测:二次元秀肌肉-环球观天下
为保护迎客松不让当地用户买木头、绿植?黄山回应
颠覆物理学!美国院士称复现室温超导 这还是骗局?
关注: 信用卡逾期停息挂账申请有什么条件?网贷逾期有什么影响?_当前热点
融创优化强制可转债方案 境外债重组方案获约近九成债权人支持
【读财报】游戏ETF透视:华夏基金规模、业绩领跑 华泰柏瑞、浦银安盛基金份额萎缩
南京十四所招聘官网_南京十四所_天天快资讯
20余省已公布高考查分时间:集中在6月下旬
卖1万多的15英寸MacBook Air 256GB SSD性能降级:不如上代
far away from home mp3下载百度网盘_far away from home歌词 天天短讯
95号汽油进入7元时代:国内油价接下来或还有降价空间!_天天信息
迷信进口屏幕电视:买回家发现大错特错了
HangFire进阶 当前资讯
ASP.NET Core MVC 从入门到精通之鉴权授权基础|今日最新
再也不用担心变量类型错误!学会JS中如何轻松检查变量类型_世界快看
武则天《升仙太子碑》 行草入碑敢为人先
中国特供显卡炒到20多万 英伟达赚麻了:有公司抢购70亿元订单-即时焦点
全球热头条丨大学期末划重点堪比发布会现场 学生举手机拍照 网友:很真实
科幻神作!三部《阿凡达》续集宣布推迟上映:第3部定档2025年
观天下!1152MB三级缓存天下无敌!AMD正式发布EPYC 9084X:96核心Zen4
突然!漫威多部新片宣布延期:《复仇者联盟5》《复仇者联盟6》再跳票1年_每日时讯
6月13日基金净值:信澳鑫安债券(LOF)最新净值1.009,跌0.1%
全球热点评!26岁零70天 Uzi成为LPL历史出场最年长的ADC选手
日本试运行核污染水排海设备 放射性物质将蔓延至全球海域
一男子挤痘后流血近1个小时 整个过程花费400抽面巾
梅西直播被吐槽上热搜前排 画面仅有一分钟引发大量网友不满
国产动漫《斗罗大陆2》即将开播 新史莱克七怪徐三石PV公布
埃兹拉·米勒出席《闪电侠》好莱坞活动 为官司缠身后的首次公开露面
云南金平县迎来蝴蝶集中羽化期 漫天飞舞犹如纷飞的落叶
辽宁一男子拔倒刺导致手指发炎感染 诊断为化脓性肉芽肿并缝了6针
为应对严重的黄牛倒卖问题 宝可梦社宣布新卡组将采用预购制
《碟中谍7》中国内地定档7月14日正式上映 汤姆·克鲁斯惊喜回归
海外最大论坛网站Reddit遭网友怒怼 或使第三方应用无法访问该服务
MySql的MVCC机制
.NET 使用ILPack组件将程序集保存成dll 世界球精选
蔚来全系降价3万!未必心甘情愿 但又无可奈何:被大众收购才是出路?
4990元起!雅迪冠能探索E10发布:2000W电机、极速62Km/h 最资讯
欠薪过亿!时隔两月 宝能汽车总部又被“堵门”_每日视讯
《守望2》新付费PVE让玩家不爽:暴雪你还有脸要钱呢? 热头条
李想:并没把国内友商放在眼里 理想的目标是干BBA
现代C++学习指南-方向篇|焦点速读
文心一言 VS 讯飞星火 VS chatgpt (40)-- 算法导论5.4 4题|天天快播
天天快资讯:澳科大领衔的研究团队开发出新型人工智能医疗诊断模型
M2 Ultra加持!苹果新款Mac Studio评测:5万元的恐怖生产力
当前速看:马斯克称人类已经是半机器人:大脑思维上传服务器可永生
世界热讯:Arm发布全新智能视觉参考设计 首次整合第三方IP核心