给定具有以下结构的数据集:
time var1 var2 var2 var1 var3
loc1 loc1 loc2 loc2 loc1
1 11 12 13 14 15
2 21 22 23 25
3 32 33 34 35
以 .csv 形式给出:
time,var1,var2,var2,var1,var3
,loc1,loc1,loc2,loc2,loc1
1,11,12,13,14,15
2,21,22,23,,25
3,,32,33,34,35
注意:缺少某些值,并非所有变量都可用于所有位置,时间戳可用于每条记录,列可能出现乱序,但时间戳可靠地是第一列。我不确定所有这些方面都与最佳解决方案相关,但它们确实存在。
我可以轻松设置一个 xarray 三维数组,它允许我通过时间戳、位置、变量名访问值。它在确定唯一的位置名称后循环遍历位置名称,按位置过滤数据并一次添加一个位置的结果。但我想知道 pythonic 和,因为没有更好的词,pandastic 解决方案会是什么样子?
问题:是否有一些紧凑而有效的方法,可能使用 pandas 和 xarray,将这个数据集或任何类似的数据集(具有不同的变量和位置名称)从 .csv 加载到像 xarray DataArray 这样的 3d 数组中?