填充xarray数据集变量等于维度的形状
填充xarray數(shù)據(jù)集變量等于維度的形狀
我剛開始使用xarray,并且遇到了在文檔中找不到的特定任務(wù)的麻煩。我創(chuàng)建了一個(gè)包含兩個(gè)維度的數(shù)據(jù)集:
ds = xr.Dataset() ds['year'] = np.arange(100) ds['simulation'] = np.arange(1000)
我想接著一個(gè)數(shù)據(jù)變量添加到的數(shù)據(jù)集np.random.rand()與一年和模擬的坐標(biāo)和等于尺寸如(1000,100)相同的形狀。
我做到這一點(diǎn)的方式是:
ds['result'] = (('simulation','year'),np.random.rand(1000,100))
然而,必須在隨機(jī)函數(shù)中指定形狀似乎很奇怪,我確信xarray有一些不可思議的方式來做到這一點(diǎn),我無法弄清楚。我希望能夠?qū)崿F(xiàn)的是這樣的:
ds['result'] = (('simulation','year'),np.random.rand())
因此,隨機(jī)函數(shù)的形狀從尺寸上被引入。
我會(huì)很感激我能得到的任何幫助。
對(duì)于這種類型的構(gòu)造,通常值得明確的是創(chuàng)建尺寸,坐標(biāo)和變量。我認(rèn)為這是你要做的。
ds = xr.Dataset() ds['result'] = xr.DataArray(np.random.rand(1000,100),dims=('simulation', 'year'),coords={'simulation': np.arange(1000), 'year': np.arange(100)})Xarray確實(shí)允許使用一些快捷方式的構(gòu)造函數(shù),但是當(dāng)你剛剛開始時(shí),它可能不那么容易混淆標(biāo)準(zhǔn)構(gòu)造函數(shù)。
編輯1
這聽起來像你真的想在結(jié)果數(shù)組的構(gòu)造函數(shù)中使用year / simulation維度的大小。這可以這樣做:
ds = xr.Dataset()ds.coords['year'] = xr.DataArray(np.arange(100), dims=('year',)) ds.coords['simulation'] = xr.DataArray(np.arange(1000), dims=('simulation',))ds['result'] = xr.DataArray(np.random.rand(ds.dims['simulation'], ds.dims['year']),dims=('simulation', 'year'))原文地址https://stackoverflow.com/questions/50752154/fill-xarray-dataset-variables-equal-to-shape-of-dimensions
總結(jié)
以上是生活随笔為你收集整理的填充xarray数据集变量等于维度的形状的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php Switch语句
- 下一篇: 香港政府活用无人机,正式应用到调研检测领