Я хочу построить на моем предыдущем вопросе .
Давайте посмотрим на некоторый код Python.
import numpy as np
import pandas as pd
mat = np.array([[1,2,3],[4,5,6]])
df_mat = pd.DataFrame(mat)
df_mat_tidy = (df_mat.stack()
.rename_axis(index = ['V1','V2'])
.rename('value')
.reset_index()
.reindex(columns = ['value','V1','V2']))
df_mat_tidy
Это берет меня из опоры table (mat) в «аккуратную» (в смысле Tidyverse) версию данных, которая дает одну переменную как столбец, из которого пришло число, одну переменную как строку, из которой пришло число, и одну переменную как число в сводная таблица в позиции строки-столбца.
Теперь я хочу расширить это, чтобы пара строк-столбцов повторяла количество раз, которое указывается в сводной таблице. Другими словами, если позиция 1,1 имеет значение 3, а позиция 2,1 имеет значение 4, я хочу, чтобы кадр данных был go
col row
1 1
1 1
1 1
1 2
1 2
1 2
1 2
вместо
col row value
1 1 3
1 2 4
Я думаю, что я знаю, как l oop по строкам второго примера и произвести это, но я хочу что-то более быстрое.
Есть ли способ «растопить» сводную таблицу так, как я описываю