为什么xarray DataArray与xarray数据集组合后只包含nan ?



我想从pandas数据框(df)创建每日直方图,并将它们导出到xarray以将其与另一个数据集(data)组合。当我创建DataArray时,我可以毫无问题地访问它,但是一旦我将它与Dataset组合,我添加的数组就只由nan条目组成。我想我确保了所有的坐标都正确对齐,通过标准化时间坐标和确保空间坐标相同。有些地方出了问题,我已经没有办法了。任何帮助将非常感激!

df=pd.read_csv(filepath+dfname)
data=xr.open_dataset(filepath+bgc_xarray)
df['date'] =  pd.to_datetime(df['date'])
data['time'] = data.indexes['time'].normalize()
xedges = np.arange(lonmin,lonmax+2*spacing,spacing)
yedges = np.arange(latmin,latmax+2*spacing,spacing)
latitude = xedges[:-1]
longitude = yedges[:-1]    
for i in range(2):
df_i=df[df['date'] == data.time[i].values]
x = df_i['cell_ll_lon']
y = df_i['cell_ll_lat']
weights = df_i['fishing_hours']
hist, xedges, yedges = np.histogram2d(x, y, bins=(xedges, yedges), weights=weights)
fishing_effort = hist.T 
Xarray_i = xr.DataArray(
data=fishing_effort,
dims=['longitude', 'latitude'],
coords=dict(
longitude=(['longitude'], longitude),
latitude=(['latitude'], latitude),
time = data.time[i].values),
attrs=dict(
description='Fishing Effort',
units='hours',),)

if i == 0:
Xarray = Xarray_i
else:
Xarray = xr.concat([Xarray, Xarray_i], 'time')

data['fishing_effort'] = Xarray

哦,好吧,问题显然出在空间坐标上。

longitude=(['longitude'], data.longitude.values),
latitude=(['latitude'], data.latitude.values),

最新更新