首页 > 解决方案 > 我可以使用熊猫从 2d 数组中获取 3d 数组吗?

问题描述

我想从 2d 数组中获取 3d 数组。

所以从这里

U         A         B         C
0  1.438161 -0.210454 -1.983704
1 -0.283780 -0.371773  0.017580
2  0.552564 -0.610548  0.257276
3  1.931332  0.649179 -1.349062
4  1.656010 -1.373263  1.333079
5  0.944862 -0.657849  1.526811

我想到达这里,每个表都是 3D 数组中的另一层。

U         A         B         C
0  1.438161 -0.210454 -1.983704
1 -0.283780 -0.371773  0.017580
2  0.552564 -0.610548  0.257276

U         A         B         C  
1 -0.283780 -0.371773  0.017580
2  0.552564 -0.610548  0.257276
3  1.931332  0.649179 -1.349062

U         A         B         C
2  0.552564 -0.610548  0.257276
3  1.931332  0.649179 -1.349062
4  1.656010 -1.373263  1.333079

U         A         B         C
3  1.931332  0.649179 -1.349062
4  1.656010 -1.373263  1.333079
5  0.944862 -0.657849  1.526811

这就是我所拥有的,但它没有按我的预期工作

import pandas as pd
from numpy.random import randn
df = pd.DataFrame(randn(6,3),columns=list('ABC'))

panel=[]
for i in range(4):
        data=df.head(3)
        panel.append(data)
        df.drop(i)

标签: pythonarrayspandasmultidimensional-array

解决方案


panel = []
for i in range(df.shape[0] - 2):
    panel.append(df[i:i+3])

推荐阅读