将 2D pd.dataFrame 转换为 3D 数组

问题描述

我的数据集由 3535560 rows × 16 columns 组成。但是它包含三个“索引变量”,我想用它来重塑数据集:1830 days46 latitude values42 longitude values。因此转换后的数据集应该变成 (1830,46,42) 但我不知道如何做到这一点。我看到我可以使用 pd.pivotpd.multiindex,但我找不到解决方案。

简而言之,数据如下:

      time          lat     lon         var 1       var 2       var 3       var 4      var 5
0     2021-01-01    60.125  -120.125    0.381828    0.917779    0.718022    0.064032    0.886050
1     2021-01-01    60.125  -119.875    0.221697    0.232657    0.298497    0.680900    0.124440
...
41    2021-01-01    60.125  -109.125    0.922149    0.708139    0.778329    0.267685    0.552542
42    2021-01-01    59.875  -120.125    0.569874    0.053829    0.740229    0.747286    0.194214
43    2021-01-01    59.875  -119.875    0.500091    0.185990    0.845510    0.877692    0.556584
....
1931  2021-01-01    48.875  -109.125    0.221697    0.232657    0.298497    0.680900    0.124440
1932  2021-01-02    60.125  -120.125    0.666589    0.849857    0.338648    0.552114    0.730678
1933  2021-01-02    60.125  -119.875    0.351144    0.467692    0.161488    0.530906    0.277561

正如您在表中看到的,在 42 个经度值之后,它需要一个新的纬度值并再次循环遍历所有经度值。在进入第二天之前(1932 行 (46x42) 之后),它会针对所有纬度值执行此操作。

有人能帮我解决这个问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)