我有以下列表[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
。当然,我也想对数据框中的每一行都这样做,而不仅仅是这一行。
有人知道这样做的方法吗?
答案 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]