首页 > 解决方案 > 无法将 csv 文件中的 1d 变量添加到 Xarray 数据集 - 错误?

问题描述

因此,我试图将以前从 csv 文件读取的变量添加到现有的 Xarray 数据集——我已经以完全相同的方式完成了一千次——但现在由于某种原因,我不明白 xarray 会引发错误。有人知道为什么会这样吗?

I am using python version 3.6 
numpy                     1.12.1                   py36_0    
pandas                    0.23.4           py36hf8a1672_0    conda-forge
xarray                    0.11.0                py36_1000    conda-forge

小例子:

<xarray.Dataset>
Dimensions:  (Position: 1, p: 3503)
Dimensions without coordinates: Position, p
Data variables:
     tim     (p, Position) object '733908.5618329' 7.339e+05 ... 7.339e+05
    p        (p, Position) object '5.00' 6.0 7.0 ... 3.506e+03 3.507e+03
    z        (p, Position) object '4.96' 5.95 6.94 ... 3.449e+03 3.45e+03
    t        (p, Position) object '14.8992' 14.9 14.9 14.9 ... 2.521 2.519 2.518
    s        (p, Position) object '35.9530' 35.95 35.95 ... 34.91 34.91 34.91
    c        (p, Position) object '4.38606' 4.386 4.386 4.386 ... 3.26 3.26 3.26
    o        (p, Position) object '244.58' 247.4 248.1 ... 282.0 282.0 281.9
    ss       (p, Position) object '1507.55' 1.508e+03 ... 1.519e+03 1.519e+03
    sth      (p, Position) object '26.7295' 26.73 26.73 ... 27.88 27.88 27.88
    bat      (p, Position) object '0.4268' 0.4202 0.4209 ... 0.3422 0.3422

ar = array([ 45.1533])
(Pdb) ds['lat']=(['Position'],np.ones(1)*ar)
*** ValueError: IndexVariable objects must be 1-dimensional

标签: python-xarrayvalueerror

解决方案


于是我找到了答案。必须增加维度的数量。

np.expand_dims(lon,轴=1)

这样,它对我有用。


推荐阅读