- У меня есть ряд панд, значения которых являются массивом numpy. Для простоты скажем
series = pd.Series([np.array([1,2,3,4]), np.array([5,6,7,8]), np.array([9,10,11,12])], index=['file1', 'file2', 'file3'])
file1 [1, 2, 3, 4]
file2 [5, 6, 7, 8]
file3 [9, 10, 11, 12]
Как мне развернуть его до кадра данных вида df_concatenated
:
0 1 2 3
file1 1 2 3 4
file2 5 6 7 8
file3 9 10 11 12
- Более широкая версия той же проблемы. На самом деле
series
получается из другого кадра данных в форме:
DataFrame:
0 1
file slide
file1 1 1 2
2 3 4
file2 1 5 6
2 7 8
file3 1 9 10
2 11 12
путем группировки по индексу 'file' с объединением столбцов.
def concat_sublevel(data):
return np.concatenate(data.values)
series = data.groupby(level=[0]).apply(concat_sublevel)
Может быть, кто-нибудь увидит лучший способ перехода с датафрейма data
на df_concatenated
.
Caveat. Субиндекс slide
может иметь разное количество значений для различных значений file
. В таком случае мне нужно повторить одну из строк, чтобы получить одинаковые размеры во всех результирующих строках