问题标签 [python-xarray]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-xarray - 在 xarray 中,来自许多小型 cdfs 的大型磁盘数据集
我是 xarray 的新手,希望能帮助我开始我的项目。我想从许多(1000个)气相色谱-质谱(gcms)文件中创建一个磁盘上的单个xarray数据集或数据框,每个样本运行一个。我最初的目的是简单地绘制来自任意样本集、质荷 (m/z) 通道和保留时间窗口的数据叠加图,xarray 的索引和延迟加载似乎很理想。
我有制造商(奇怪的)cdf格式的数据,每个样本一个文件,并已将每个文件转换为pandas数据帧,格式如下
其中 t 上升到 2100.0 秒,列上升到 500(所以 488 x 18000)。我有 1000 个这样的文件,每个文件都有不同的示例名称。
我最初设想将xr.concat
它们放入一个巨大的文件中。因此,按照文档,我已经能够从单个样本创建数据集结构并将其保存到 cdf,如下所示:
(注意 mz 代表质荷比,即 15、16...500 的含义)
正如预期的那样,加载几个 dsixr.open_dataset
不会增加 python 进程的内存使用(我正在查看 mac osx 上的活动监视器),这很好。
然而,在运行
内存使用量猛增约 70MB/样本,表明它d
完全在内存中,这不会扩展到 1000 个样本。
我可以在 xarray 中做什么来快速访问磁盘上的数据集?似乎xr.concat
不是一种可扩展的方式来创建一个巨大的 cdf 文件。或许我需要一种xr.concat
直接写入磁盘的方法,或者一个单独的工具来组合 cdfs。
python - Python Xarray,按索引或维度排序?
中是否有某种sort_index
或sort_by_dimension
方法xarray
,很像pandas.DataFrame.sort_index()
,我可以在其中按xarray.DataArray
对象的一个维度对对象进行排序?在使用方面,我正在考虑类似data_array.sort(dim="dimension_name")
.
python - 扩展 xarray 数据集
我正在尝试将霜冻天数添加到 xarray 教程数据集中。
数据在时间上是相当高分辨率的,所以为了更容易处理,我对它们重新采样 air_day = airtemps.resample('1D', 'time', how='mean') air_month = air_day.resample('1M', 'time' , 如何='意思')
结果,我想在air_month
所有三个维度上添加一个额外的变量,其中包含平均值低于零的天数。
我非常天真的尝试将是……。像这样
但是通过sum()
ing,我在这里失去了时间维度。我被困在这里,仍然没有将 xarray 概念包裹在我的脑海中。
感谢帮助!
python - how to read netcdf4 data if I only have netcdf3 tool?
- My school cluster admin said: if we load netcdf4 module, then we cannot load netcdf3 module. So he refused to update netcdf4
- I have a
.nc
file, which is a netcdf4 file, I think and I need to load it in R.
- I have a
- In R on our cluster, only
RNetCDF
package is installed. And it cannot read the above .nc file. Thencdf4
package is not there. (I try to install it, it says it requires netcdf library of version 4. And of course I do not havesudo
)
- In R on our cluster, only
- In python, (I don't know why) I can load
netcdf4
file. I don't know if I can use this to (save it in netcdf 3 format?) help me load that data in R.
- In python, (I don't know why) I can load
So, how should I do?
- The admin don't want to switch to netcdf4 module, and so it seems I(or he) cannot install
ncdf4
package in R. - Some of the
nc
data are directly downloaded from some website, and some of thenc
files are from the output of thexarray
package in python (and the netcdf output of xarray is in version 4).
python - 在多个条件下过滤数据数组
从 xarray 的教程数据中,我想提取一个DataArray
包含月份温暖天数的数据,定义为 22 到 30 摄氏度:
我现在正在寻找一种以编程方式在下面创建此地图的方法,还可以添加更多条件
条件可以这样定义:
我可以在一个条件下简单地做到这一点:
但我正在努力动态添加多个。我可以做这个
但我想做某事。像这样
为了方便起见,这里有一个要点。与往常一样,我提前感谢
python - 在特定坐标处插入 DataArray
我正在尝试使用有关单元格的一些元信息填充 DataArray 以将其添加到数据集中。
给定现有维度,我可以设置一组全新的数据:
我想要的是在给定坐标处添加一个数据点,基本上
这可以做到吗?
python-xarray - 写入 to_netcdf 时为 xarray 数据集中的许多变量指定编码/压缩
我一直在写出一些具有多个变量的 xarray.Datasets。目前,为了使大小易于管理,我指定了编码,例如 zlib,但需要逐个变量应用于变量(dataArray)。
将相同的编码参数应用于所有变量的好方法是什么?例如
在写出这个数据集时,我们将使用:
对于更多变量,这会变得很冗长。一种选择是以顺序追加的方式将每个数据数组写入 netcdf,但是当数据集准备就绪时,这似乎也很复杂。
pandas - 使用不同的方法对 xarray 数据集进行重采样
我需要为另一个数据变量重新采样一个使用DataSet
。我正在使用这种有点麻烦的方法:mean()
sum()
可以/应该以不同的方式完成吗?
python - python matplotlib.pyplot 如何支持 pandas、xarray 等数据类型?
用最简单的方式提出问题——这段代码的最后一行是如何工作的?
我的印象是 pandas 是建立在顶部 numpy链接上的,然后 xarray 有点基于 pandas链接。但是,我没有找到任何说明 numpy 本身支持 xarray.DataArray 的信息,而且使用 xarray 的人并不多于 numpy。那么为什么我可以用 xarray.DataArray 对象初始化 numpy.ndarray 呢?我的一个猜测是 xarray 包中提供了相应的支持,但我没有看到 xarray 包中的代码可能影响 numpy.ndarray.__init__(或 numpy 包中的任何函数)的机制。
谁能给我解释一下这种上下支持是如何实现的?
python - 将 pandas series/dataframe 中的每个值映射到 n>1 维
我有一个熊猫系列,以及一个在系列中取值并返回数据框的函数。有没有办法将函数应用于系列并以自然的方式整理结果?
我真正想做的是使用 pandas series/multiindex 来跟踪我的数据分析管道的每个步骤中的结果,其中 multiindex 保存用于获取值的参数。例如,系列(s below)是我的数据分析管道中第 0 步的结果。在第 1 步中,我想尝试 x 更多维度(以下 2 个,因此是数据框)并将结果整理到另一个系列中。
我们能比下面做得更好吗?哪里stack()
来电似乎有点过分。xarray 库是否适合我的用例?