【问题标题】:ValueError: Could not convert tuple of form (dims, data[, attrs, encoding]): #ISSUE #GRIP2 #Weather-Data #cfgrib #xarrary #Python #ValueError:无法转换形式的元组(dims,data [,attrs,encoding]):#ISSUE #GRIP2 #Weather-Data #cfgrib #xarrary #Python #
【发布时间】:2021-08-22 19:10:03
【问题描述】:

ValueError: 无法转换形式的元组 (dims, data[, attrs, encoding]):

我在构建这个数据集时遇到问题,我不知道如何解决它,我尝试了很多解决方案,但它给了我同样的错误

import cfgrib
import glob
import xarray as xr
import pandas as pd 


folder = input('Folder Path:')
val = input('Variable Name:')

files = glob.glob(rf'{folder}/*.grib2')

data_conc=[]

for file in files:

     data = xr.open_dataset(file,engine='cfgrib',
     backend_kwargs={'filter_by_keys':{'typeOfLevel': 'hybrid'}})
 
 
     lon  = data.variables['longitude'].values
     lat  = data.variables['latitude'].values
     hyb  = data.variables['hybrid'].values
     time = pd.Timestamp(data.time.values) + pd.to_timedelta(data.step.values,'H')
 
     X = xr.Dataset(
                    data_vars = { 
                    'data':(['Alt','lat','lon'], data[val].values)
                                 },
                    coords = {
                              'Alt':(['lat','lon'],hyb),
                              'lat':(['lat','lon'],lat),
                              'lon':(['lat','lon'],on),
                              'time':time
                               },
     
                    )

 
     data_conc.append(X) 

【问题讨论】:

    标签: python python-xarray pygrib cfgrib grip


    【解决方案1】:

    您现在可能已经找到答案了。如果没有,请尝试重塑坐标值,看看是否有帮助。

    import numpy as np
         lon  = np.reshape(data.variables['longitude'].values, (1, -1))
         lat  = np.reshape(data.variables['latitude'].values, (1, -1))
         hyb  = np.reshape(data.variables['hybrid'].values, (1, -1))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 2019-10-11
      相关资源
      最近更新 更多