首页 > 解决方案 > 将列分解为列

问题描述

我得到了 pandas train df,它看起来像这样:

                 image
1  [[0, 0, 0], [1, 0, 1], [0, 1, 1]]
2  [[1, 1, 1], [0, 0, 1], [0, 0, 1]]
2  [[0, 0, 1], [0, 1, 1], [1, 1, 1]]

有没有办法“爆炸”它,但成列

   1  2  3  4  5  6  7  8  9
1  0, 0, 0, 1, 0, 1, 0, 1, 1
2  1, 1, 1, 0, 0, 1, 0, 0, 1
2  0, 0, 1, 0, 1, 1, 1, 1, 1

标签: pythonpandas

解决方案


np.vstack列表列表系列,然后reshape

pd.DataFrame(np.vstack(df['image']).reshape(len(df), -1))

   0  1  2  3  4  5  6  7  8
0  0  0  0  1  0  1  0  1  1
1  1  1  1  0  0  1  0  0  1
2  0  0  1  0  1  1  1  1  1

推荐阅读