Преобразовать данные в датафрейма с n столбцов

У меня есть данные, которые располагаются в строках эксель типа

1,5 1,7 1,1 1,4 2,5 3,0 1,5 1,2 1,1 2,3 2,0 1,3 2,4 1,4 1,3 1,7 1,5 1,2 1,3 2,1

Я хочу получить из них датафрейм с n столбцами, вытаскивая в каждый из них по 5 последующих элементов, чтобы получилось вот так:

1,5 3,0 2,0 1,7
1,7 1,5 1,3 1,5
1,1 1,2 2,4 1,2
1,4 1,1 1,4 1,3
2,5 2,3 1,3 2,1

Есть ли какая-то функция для этого или по каким ключевым словам я могу найти что-то на эту тему? (пока неправильно формулирую запрос, видимо, потому что нахожу всё не то)


Ответы (1 шт):

Автор решения: Andrew

Предположим, что входные данные это строка. Тогда можно для начала преобразовать ее в вектор numpy, а затем решейпить в нужную форму.

вот так

Полученную матрицу можно напрямую подать на вход pd.DataFrame и получить нужный результат.

введите сюда описание изображения

Код:

data_numbers = str('1,5 1,7 1,1 1,4 2,5 3,0 1,5 1,2 1,1 2,3 2,0 1,3 2,4 1,4 1,3 1,7 1,5 1,2 1,3 2,1')

pd.DataFrame(
    np.array(data_numbers.split()).reshape((4,5))
)
→ Ссылка