Ошибка атрибута: объект ‘str’ не имеет атрибута ‘_normalize_dim_order’ xarray ufunc

#python #python-xarray

Вопрос:

У меня есть вызываемые функции ts_process() . Я передаю его в apply_ufunc. Функция ts_process принимает 4 позиционных аргумента, из которых первые три являются строками, а последний-объект xarray. Я передаю эту функцию и ее аргументы функции ufunc с помощью словаря.

 mydict = {'red' : 'foo', 'doy' : 'doy' ,'boo': 'data_var','data' : sample_data}  
 xr.apply_ufunc(  ts_process,  *mydict,  input_core_dims=None,  vectorize=True )  

когда я вызываю функцию ufunc, она принимает ключевое слово data в качестве строки для ts_process. это часть ts_process

 def ts_process(red,doy,boo,data)  df = xr.Dataset.to_dataframe(midas_data)  df = modis_df.rename(columns={red: "red", doy: "doy","data_var" : data_var})  return df  

это дает ошибку «Ошибка атрибута: объект ‘str’ не имеет атрибута ‘_normalize_dim_order'» Таким образом, аргумент данных следует принимать как объект, а не как строку. Любая помощь будет очень признательна