如何将列表转换为numpy数组列表?

时间:2018-07-25 21:54:56

标签: python pandas numpy

我有以下列表[1 2 3 4 5 6 7 8]。如何将其转换为sortBy('column')的列表。

更好的是,我在数据框中添加了shuffle()行,我想将数据框转换为4列,其中该行的第一项是[[1 2 3] 4 5 [6 7 8]],第二列是1 2 3 4 5 6 7 8,第三和第四项是[1 2 3]4。当然,我也想对数据框中的每一行都这样做,而不仅仅是这一行。

有人知道这样做的方法吗?

1 个答案:

答案 0 :(得分:0)

IIUC

df = pd.DataFrame({k: k for k in range(1,9)}, index=range(5))

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

>>> pd.DataFrame({'0': df[[1,2,3]].agg(np.array, 1), 
                  '1': df[4], 
                  '2': df[5], 
                  '3': df[[6,7,8]].agg(np.array, 1)})

    0           1   2   3
0   [1, 2, 3]   4   5   [6, 7, 8]
1   [1, 2, 3]   4   5   [6, 7, 8]
2   [1, 2, 3]   4   5   [6, 7, 8]
3   [1, 2, 3]   4   5   [6, 7, 8]
4   [1, 2, 3]   4   5   [6, 7, 8]