当前位置: 首页 > 软件库 > 大数据 > 数据处理 >

xarray

在 NumPy 多维数组中加入变量名与坐标索引
授权协议 Apache-2.0
开发语言 Python
所属分类 大数据、 数据处理
软件类型 开源软件
地区 不详
投 递 者 吕成业
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

xarray 是一个开源 Python 包,它可以使处理多维数组更加简单、高效并有趣。xarray 在原始类 NumPy 多维数组中引入了标签化的变量名称和坐标索引,实现了更直观、更简洁和更加不容易出错的能力。该软件包包括一个庞大且不断增长的域无关功能库,用于使用这些数据结构进行高级分析和可视化。xarray 灵感来自同为解决数据分析任务而诞生的 pandas。

多维数组(张量)是计算科学的重要组成部分,它们涉及广泛的领域,包括物理学、天文学、地球科学、生物信息学、工程学、金融学和深度学习。在 Python 中,NumPy 提供了用于处理原始多维数组的基本数据结构和 API,但是,真实世界的数据集通常不仅仅是原始数据,它们有标签,用于编码有关数组值如何映射到空间、时间等位置的信息。所以有有了 xarray 这个项目,它在原始类 NumPy 多维数组中引入了标签化的变量名称和坐标索引,实现了更直观、更简洁和更加不容易出错的能力。

特性:

  • 通过变量名操作多维数组,比如:x.sum('time')
  • 通过标签而不是位置选中值:x.loc['2014-01-01'] 或 x.sel(time='2014-01-01')
  • 基于维度名称而不是形状在多维数组上进行数学运算矢量化
  • 灵活的 groupby split-apply-combine 操作:x.groupby('time.dayofyear').mean()
  • 基于坐标标签的数据库(例如 alignment),可以平滑地处理缺失值:x, y = xr.align(x, y, join='outer')
  • 以Python字典的形式跟踪任意元数据:x.attrs
  • xarray介绍 xr.Dataset: 装入多个变量的信息,可以对每个变量进行定义不同的维度信息。主要包含以下三部分: data_vars coords attrs xarray.Dataset(*data_vars=None*, *coords=None*, *attrs=None*) 1、官方例子: #创建数据 np.random.seed(0) temperature =np.rando

  • 目录 一、数据结构 1.DataArray (1)DataArray的创建 (2)DataArray的属性及常用方法 2.DataSet (1)DataSet的创建 (2)DataSet的属性和常用方法 二、数据的读取 1.读取nc文件 2.读取grib文件 3.读取多个文件并 合并 三、数据的索引 1.通过位置索引 2.通过名字索引 四、数据的坐标系统 1.修改坐标 2.增加/删除坐标 五、数据

  • https://github.com/pydata/xarray https://ftp.ncep.noaa.gov/data/nccf/com/hrrr 1、读取grib2 https://github.com/ecmwf/cfgrib conda install -c conda-forge cfgrib pip install cfgrib isobaricInhPa 气压坐标系、垂直坐标

  • 坐标(Coordinates)是存储在coords属性中的DataArray和Dataset对象的辅助变量: In [65]: ds.coords Out[65]: Coordinates: lat (x, y) float64 42.25 42.21 42.63 42.59 lon (x, y) float64 -99.83 -9

  • Xarray修改变量、坐标和维度名 v129 = xr.open_dataset('D:/PycharmProjects/Plot_py38/data_download/ERA5_ml_var129.nc') v129 = v129.rename({'latitude':'lat','longitude':'lon','z':'var129'}) 参考: https://docs.xarray.

  • xarray.DataArray 是一个使用标签的多维数组,主要有以下几个关键属性: values:一个保存数组值的numpy.ndarray dims: 每个坐标轴的维度名称 (例如, (‘x’, ‘y’, ‘z’))- coords: 一个包含数组坐标的类似字典的容器,用来标记每个点(例如,数字,日期时间对象或字符串的一维数组) attrs: 存放任意元数据(属性)的字典 xarray使用di

  • 如何在xarray、pandas、dask中选择最佳的chunk 使用 Dask 数组很容易上手,但使用好它们确实需要一些经验。此页面包含最佳实践建议,并包含常见问题的解决方案。 使用 NumPy 如果您的数据在 RAM 中很合适,并且您不受性能限制,那么使用 NumPy 可能是正确的选择。Dask 增加了另一层复杂性,这可能会妨碍您。 如果您只是在寻找加速而不是可扩展性,那么您可能需要考虑像Nu

  • 索引数据 xarray使用小结 Python实现的简单线性回归算法实例分析 aa=GLEAM_NC.sel(lat=j,lon=z).fillna(-9999)

  •   xarray.DataArray 是一个使用标签的多维数组,主要有以下几个关键属性: values:一个保存数组值的numpy.ndarray dims: 每个坐标轴的维度名称 (例如, (‘x’, ‘y’, ‘z’))- coords: 一个包含数组坐标的类似字典的容器,用来标记每个点(例如,数字,日期时间对象或字符串的一维数组) attrs: 存放任意元数据(属性)的字典 xarray使用

  • 赋权降维和Groupby(Ⅰ)   引入相关包和导入数据: import numpy as np import xarray as xr from matplotlib import pyplot as plt # 数据导入 path = "...\\sst.mnmean.nc" # 丢弃一个不必要导入的变量 ds = xr.open_dataset(path, drop_variables=[

  • xarray 支持与 pandas 相同API的 “group by” 操作,以实现split-apply-combine策略: 将数据分成多个独立的组。 将一些功能应用于每个组。 将您的组重新组合到一个数据对象中。 分组操作对 Dataset 和 DataArray 对象均起作用。 尽管最近已实现了对多维变量分组的支持,但大多数示例着重于按单个一维变量分组。 请注意,对于一维数据,通常依靠 pa

 相关资料
  • 问题内容: 我想编写一个函数,根据提供的 bin概率 从训练集中随机选择元素。我 将集合索引划分为11个bin ,然后为它们创建 自定义概率 。 我收到以下错误: 我发现这很奇怪,因为我已经检查了创建的索引数组。它是 一维 ,是 整数 ,并且是 标量 。 我想念什么? 注:我试图通过使用。同样的错误。 问题答案: 错误消息可能在某种程度上具有误导性,但要点是,它是一个列表,而不是一个numpy数组

  • 本文向大家介绍python numpy 一维数组转变为多维数组的实例,包括了python numpy 一维数组转变为多维数组的实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 借助numpy库; 以上这篇python numpy 一维数组转变为多维数组的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: numpy中最简单的方法来反转数组的最内部值是这样的: 这样我得到以下结果: 非常感谢你! 问题答案: 怎么样: 而最后一个维度的反方向是: 要么 尽管我更喜欢后者,因为前两个维度是隐式的,因此很难看到正在发生的事情。

  • 问题内容: 我有两个2d numpy数组:x_array包含x方向上的位置信息,y_array包含y方向上的位置。 然后,我有一长串x,y点。 对于列表中的每个点,我需要找到最接近该点的位置(在数组中指定)的数组索引。 我已经根据这个问题天真的产生了一些有效的代码: 在numpy数组中找到最接近的值 即 我正在大型数据集上执行此操作,并且真的想加快速度。谁能优化这个? 谢谢。 更新:根据@silv

  • 问题内容: 背景 我有一个零初始化的一维NumPy数组。 然后我有一个Pandas DataFrame,其中两列都有索引: 对于每对索引,我想将numpy数组中相应索引的值设置为True。 我目前的解决方案 我可以通过将一个函数应用于DataFrame来做到这一点: 我想向量化此操作 这可以按我期望的方式工作,但是出于乐趣,我想对操作进行矢量化处理。我对此不是很熟练,而且我在网上搜索并没有使我走上

  • 问题内容: 请原谅我这是多余的还是超基本的。我要从R进入Python / Numpy,并且很难在脑海里翻转事物。 我有一个维数组,我想使用索引值的另一个n维数组进行排序。我知道我可以将其包装成一个循环,但是似乎应该有一种非常简洁的Numpyonic方式将其击败并提交。这是设置n = 2的问题的示例代码: 所以现在我有一个2 x 5的随机数数组和2 x 5的索引。我已经阅读了约10次帮助,但显然我的

  • 下面是代码: 我得到以下错误: 回溯(最后一次调用):文件“/Users/evgenypavlov/Documents/ml_tutorial_1/main.py”,第34行,在x_train=np中。重塑(x_列,(x_列.shape[0],x_列[1],1])文件“ 据我所知,我已经把它转换成np了。数组,那么什么会导致此问题以及如何解决它?

  • 问题内容: 我有一个二维数组,即序列数组也是数组。对于每个序列,我想计算自相关,因此对于(5,4)数组,我将获得5个结果或维度为(5,7)的数组。 我知道我可以循环浏览第一个维度,但这很慢,也是我的最后选择。还有另一种方法吗? 谢谢! 编辑: 根据选择的答案以及mtrw的评论,我具有以下功能: 请注意,在我的代码中,length是一个全局变量,因此一定要声明它。我也没有将结果限制为实数,因为我还需