python - Python - 当索引只有 1 个值时如何合并/合并数据集
问题描述
我对 XArray 库很陌生,并且在使用 concat/merge 函数时遇到了困难。
所以我有几个具有这种坐标的数据集
<xarray.Dataset>
Dimensions: (latitude: 721, longitude: 1440)
Coordinates:
number int64 0
time datetime64[ns] 2019-09-01
step timedelta64[ns] 00:00:00
isobaricInhPa int64 1000
* latitude (latitude) float64 90.0 89.75 89.5 ... -89.5 -89.75 -90.0
* longitude (longitude) float64 0.0 0.25 0.5 0.75 ... 359.2 359.5 359.8
valid_time datetime64[ns] 2019-09-01
Data variables:
t (latitude, longitude) float32 ...
每个都描述了不同压力水平 ( isobaricInhPa
) 和不同日期 ( time
) 的大气温度。我想合并到一个独特的数据集中。例如,我只保留描述独特压力水平的那些,但在不同的日期。我从 grib 文件中收集不同的数据集匹配日期和压力,然后使用它们latitude
的longitude
、isobaricInhPa
和time
.
为此,我试图转向time
维度isobaricInhPa
。但是,由于它们只有 1 个值,numpy.ndarray
因此决定它是一个 0 维数组。在其他情况下,我会使用np.atleast_1d(time)
or np.atleast_1d(isobaricInhPa)
。在这种情况下,以下代码不起作用。
ds = ds.set_index({entry: entry})
我得到错误:
Exception has occurred: TypeError
DatetimeIndex() must be called with a collection of some kind, numpy.datetime64('2019-11-01T00:00:00.000000000') was passed
在这种情况下如何合并?如何避免覆盖数据,因为库只使用latitude
andlongitude
而不是time
and isobaricInhPa
?
解决方案
推荐阅读
- ios - 从未调用过“didRegisterForRemoteNotificationsWithDeviceToken”
- prolog - 如何使用 SWI-Prolog 在 Aleph 中获得更复杂的理论?
- loops - 在迭代地图的同时修改地图时如何使用 RWMutex
- azure-data-explorer - 如何通过 kusto (Azure Data Exploer) 获取每个表的不同计数
- visual-studio - 当我使用另一个程序(例如 Windows Calculator)时,Visual Studio 调试器中显示的 CPU 寄存器值为什么不会改变
- reactjs - 在 React 应用程序上的每个图像上都出现损坏的图像图标
- sql - SQL 改变位置
- fullcalendar - 如何在 Fullcalendar 的时间线视图中在所有源上呈现一个事件?
- javascript - 从存储为 JS 变量的表单中获取目标值
- python - python中非定常二维热方程的数值解不正确地产生错误