我有一些多维数据,我想知道当速度是我所关心的(虽然不是最高的)之一时,我是否应该使用xarray。
我有一个4D数组,所以它的大小不足以阻止我使用numpy。坐标/指数对于一个维度是至关重要的,但对所有其他维度则不是如此。我将不得不做轻微的簿记,但作为主要的开发人员,这对我来说是可以的。对于那些在我之后继续迭代代码的开发人员来说,使用整数索引可能比使用基于标签的方法(xarray/大熊猫)更令人困惑。无论如何,如果我很好地记录了这个过程,我仍然可以使用numpy。但是我想使用xarray来提高可读性。
在实现了一个解决方案之后,我注意到下面的操作/索引将在我的机器上的大约5秒内完成。
for
我正在使用的netCDF文件既有逻辑上的(1,2,3...)和物理坐标(lat,on)。 我知道我必须在xarray中分配多维坐标,但是我找不到语法。 目标是生成如下所示的数组数据集: import numpy as np
import pandas as pd
import xarray as xr
import cartopy.crs as ccrs
from matplotlib import pyplot as plt
ds = xr.tutorial.open_dataset('rasm').load()
ds 其中xc和yc是我的物理坐标。这就是我目前所处的位置
我正在学习如何使用python xarray包,然而,我在处理多维数据时遇到了问题。具体地说,如何添加和使用附加坐标?
下面是一个例子。
import xarray as xr
import pandas as pd
import numpy as np
site_id = ['brw','sum','mlo']
dss = []
for site in site_id:
df = pd.DataFrame(np.random.randn(20,2),columns=['a','b'],index=pd.
我正在处理以下文件:
当我用xarray读取它时,
ds = xr.open_dataset('poes_m01_20130525_proc.nc')
所有变量都以坐标形式读取,其中至少有一些作为索引坐标。我只知道最后一点,因为当我尝试用
ds.reset_coords()
我知道错误了,
ValueError: cannot remove index coordinates with reset_coords. The error appears to include all of the variables (there is a very long list).
我正在为C++使用Xtensor库。
我有一个xt::zeros({n,n,3})数组,我要分配它的i,j,元素an xt::xarray{,},这样它将在每个(i,j)上存储一个三维向量。然而,文档并没有提到赋值--我通常无法从文档中了解多个协同面板的数组是如何工作的。
我一直在尝试的是
xt::xarray<double> force(Body body1, Body body2){
// Function to calulate the vector force on body2 from
// body 1
xt::xarray<dou
我有一个数据数组,其中包含了全球各地lat、lon点数的值列表。我想为特定的城市提供一个lat,lon值的列表,并应用在那些lat,lon点上的值来创建一个数据。为了实现这一点,我执行下面的代码。
df1=pd.read_csv('E:/Riskpulse_HD/TroPYcal/GenscapePortList.csv')
lats=df1['Latitude']
lons=df1['Longitude']
count_city=[]
for idx,(lon,lat) in enumerate(zip(lons,lats)):
v
有没有办法在不使用循环的情况下将“行格式”数据集网格化为xarray数据集? 具体地说,我想要一个数组,如果没有指定任何值,(lat,lon,time)网格中的所有值都是0。我知道pandas中的.to_xarray()方法(https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_xarray.html),但这不会完全覆盖所需的坐标(经度、经度、时间)。玩具示例如下: import pandas as pd
import xarray as xr
# row data to be gri
以下xarray的使用对我来说是直观的,但不起作用:
import xarray as xr
import numpy as np
data = xr.DataArray(np.random.randn(2, 3),
[
("x", [10, 20]),
("y", [0, 1, 2])
])
# x values are 10 and 20. Here I want to mo
我试图将xarray数据集中的坐标值提取为与原始xarray数据集大小相同的数组,其中每个值都是元组。例如,如果我有一个坐标为x=[0,1]和y=[2,3]的数据集,那么我希望类似于np.array([(0,2), (1,2),(0,3),(1,3)])。这似乎毫无用处,因为使用标准的[(a,b) for a in x for b in y]可以实现类似的功能,但是当使用xarray的ds.where()时,功能会变得更强大,然后上面的函数将只返回一个一维数组或坐标列表,其中dataset不是给定查询的NaN。
目前xarray中存在这样的东西吗?还是我需要自己实现解决方案?
我正在查看非洲的月度降水量数据,并希望将这些数据分成几个子区域。有没有办法在同一个ds上进行多个选择/裁剪?下面是我的代码: fn1 = 'cru_monthly_africa.nc'
ds1 = nt.open_data(fn1)
#Selecting a specific variable, time period and area and then calculating the field mean for each month:
ds1.select(variables = "pre")
ds1.select(years = range(1981,