因此 , 正如上述所看到的 , 这个过程非常简单和容易自解释:
- 使用symbols()方法定义要求导的函数的符号 。
- 定义函数 。
- 使用diff()计算导数 , 并指定函数和要计算导数的符号(这是一个绝对导数 , 但在具有x和y变量的函数的情况下 , 甚至也可以进行计算偏导数) 。
功能三:计算积分当然 , 如果SymPy可以计算导数 , 它也可以计算积分 。接下来尝试做一下:
from sympy import symbols, integrate, sin# 定义符号x = symbols('x')# 执行符号积分integral = integrate(sin(x), x)# 打印积分print(integral)>>>-cos(x)
所以 , 本文在这里使用integrate()方法 , 指定要积分的函数和积分变量 。3.XarrayXarray简介Xarray是一个扩展了NumPy特性和功能的Python库 , 使用户能够使用带有标签的数组和数据集进行工作 。
事实上 , 正如他们在官网上所说的那样:
【Xarray】:https://docs.xarray.dev/en/stable/
Xarray使得在Python中处理带有标签的多维数组变得简单、高效和有趣!
还有:
【链接】:https://docs.xarray.dev/en/stable/getting-started-guide/why-xarray.html
Xarray在类似于NumPy的原始多维数组之上引入了维度、坐标和属性形式的标签 , 这使得开发者的体验更加直观、简洁 , 减少了错误的发生 。
换句话说 , 它通过向数组维度添加标签或坐标来扩展NumPy数组的功能 。这些标签提供了元数据 , 可以对多维数据进行更高级的分析和操作 。
例如 , 在NumPy中 , 使用基于整数的索引访问数组 。
而在Xarray中 , 每个维度都可以关联一个标签 , 这样就可以根据有意义的名称更容易地理解和操作数据 。
例如 , 在Xarray中 , 用户可以使用arr.sel(x=0, y=1, z=2)来访问数据 , 其中x、y和z是维度的标签 , 而不是使用arr[0, 1, 2]来访问数据 。
这使得代码更加易读!
接下来查看一些Xarray的功能 。
一些Xarray的功能像往常一样 , 首先要安装它:
$ pip install xarray
功能一:使用标注坐标假设用户想创建与温度相关的一些数据 , 并且想将它们标记为纬度和经度等坐标 。可以这样做:import xarray as xrimport numpy as np# 创建温度数据temperature = np.random.rand(100, 100) * 20 + 10# 创建经纬度坐标数组latitudes = np.linspace(-90, 90, 100)longitudes = np.linspace(-180, 180, 100)# 创建带有标注坐标的Xarray数据数组da = xr.DataArray(temperature,dims=['latitude', 'longitude'],coords={'latitude': latitudes, 'longitude': longitudes})# 使用标注坐标访问数据subset = da.sel(latitude=slice(-45, 45), lnotallow=slice(-90, 0))
如果打印出来 , 就会得到# 打印数据print(subset)>>>array([[13.45064786, 29.15218061, 14.77363206, ..., 12.00262833,16.42712411, 15.61353963],[23.47498117, 20.25554247, 14.44056286, ..., 19.04096482,15.60398491, 24.69535367],[25.48971105, 20.64944534, 21.2263141 , ..., 25.80933737,16.72629302, 29.48307134],...,[10.19615833, 17.106716, 10.79594252, ..., 29.6897709 ,20.68549602, 29.4015482 ],[26.54253304, 14.21939699, 11.085207, ..., 15.56702191,19.64285595, 18.03809074],[26.50676351, 15.21217526, 23.63645069, ..., 17.22512125,13.96942377, 13.93766583]])Coordinates:* latitude(latitude) float64 -44.55 -42.73 -40.91 ... 40.91 42.73 44.55* longitude(longitude) float64 -89.09 -85.45 -81.82 ... -9.091 -5.455 -1.818
所以 , 接下来逐步了解这个过程:- 将温度值创建为一个NumPy数组 。
- 将纬度和经度值定义为NumPy数组 。
- 使用DataArray()方法将所有数据存储在一个Xarray数组中 。
- 使用sel()方法选择了一个经纬度子集 , 该方法为子集选择了我们想要的值 。
功能二:处理缺失数据假设用户正在收集与一年中与温度相关的数据 。并且想知道数组中是否有空值 。如下是用户可以这样做的方法:
import xarray as xrimport numpy as npimport pandas as pd# 创建有缺失值的温度数据temperature = np.random.rand(365, 50, 50) * 20 + 10temperature[0:10, :, :] = np.nan# Set the first 10 days as missing values# 创建时间、纬度和经度坐标数组times = pd.date_range('2023-01-01', periods=365, freq='D')latitudes = np.linspace(-90, 90, 50)longitudes = np.linspace(-180, 180, 50)# 创建带有缺失值的Xarray数据数组da = xr.DataArray(temperature,dims=['time', 'latitude', 'longitude'],coords={'time': times, 'latitude': latitudes, 'longitude': longitudes})# 沿时间维度计算缺失值的数量missing_count = da.isnull().sum(dim='time')# 打印缺失值print(missing_count)>>>array([[10, 10, 10, ..., 10, 10, 10],[10, 10, 10, ..., 10, 10, 10],[10, 10, 10, ..., 10, 10, 10],...,[10, 10, 10, ..., 10, 10, 10],[10, 10, 10, ..., 10, 10, 10],[10, 10, 10, ..., 10, 10, 10]])Coordinates:* latitude(latitude) float64 -90.0 -86.33 -82.65 ... 82.65 86.33 90.0* longitude(longitude) float64 -180.0 -172.7 -165.3 ... 165.3 172.7 180.0
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 婚纱吊兰怎么养才长得好 婚纱吊兰的养殖方法和注意事项
- 龙须兰和平安树哪个更适合家里养植 龙须兰和平安树哪个更适合家里养
- 观赏螯虾养殖方法和技术 观赏螯虾养殖方法
- 在Linux系统中实现容器化的消息中间件:RabbitMQ和Kafka
- 使用 GitHub Actions 重构和优化发布流程的实用技巧
- 钓青鱼和草鱼混养黑坑的要领,青鱼草鱼连竿
- 阿胶的制作方法和配料是什么 阿胶的制作方法和材料比例
- 孙俪和杨钰莹同样下地干农活!一个埋头苦干太接地气,一个化妆摆拍超做作
- 玉脏了用什么清洗最好 玉怎么清洗和保养方法
- 刘宇宁疑似偷偷跑去杭州与杨超越玩密室逃脱,粉丝吐槽是和小女友约会