微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决将 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 举报,一经查实,本站将立刻删除。