Как преобразовать фрейм данных следующим образом:
df = 0 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 NaN NaN NaN NaN NaN NaN 7 8 9 10 11 12 NaN NaN NaN NaN NaN NaN 13 14 15 16 17 18 NaN NaN NaN NaN NaN NaN
К списку точно так же (с пропуском NaN):
df_list = [array([[ 1, 2], [ 3, 4], [ 5, 6]]), array([[ 7, 8], [ 9, 10], [ 11, 12]]), array([[ 13, 14], [ 15, 16], [ 17, 18]])]
У меня естьпробовал df1.values.tolist() но это не дает мне пары
df1.values.tolist()
будущий фрейм данных должен быть таким
Укажите, сколько предметов вы хотите в каждой группе, и используйте numpy * reshape
numpy
reshape
n = 2 df.to_numpy().reshape(df.shape[0], -1, n)
array([[[ 1, 2], [ 3, 4], [ 5, 6]], [[ 7, 8], [ 9, 10], [11, 12]], [[13, 14], [15, 16], [17, 18]]], dtype=int64)
Для точного соответствия:
[df.loc[i].to_numpy().reshape(-1,2) for i in df.index]
Вывод:
[array([[1, 2], [3, 4], [5, 6]], dtype=int64), array([[ 7, 8], [ 9, 10], [11, 12]], dtype=int64), array([[13, 14], [15, 16], [17, 18]], dtype=int64)]