У меня есть рамка данных pandas, которая выглядит как одна длинная строка.Reshape (stack) pandas dataframe на основе предопределенного количества строк
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
________________________________________________________________________________________________
2010 | 0.1 0.5 0.5 0.7 0.5 0.5 0.5 0.5 0.9 0.5 0.5 0.8 0.3 0.3 0.6
Я хотел бы изменить его, как:
0 1 2 3 4
____________________________________
|0| 0.1 0.5 0.5 0.7 0.5
2010 |1| 0.5 0.5 0.5 0.9 0.5
|2| 0.5 0.8 0.3 0.3 0.6
Я могу, конечно, сделать это с помощью цикла, но я предполагаю, (un)stack
и/или pivot
может быть в состоянии сделать трюк, но Я не мог понять, как ...
Симметрия/заполнение пробелов - если данные не являются целыми числами, делящимися на количество строк после отладки - на данный момент это не важно.
EDIT:
Я закодированы до решения петли между тем:
df=my_data_frame
dk=pd.DataFrame()
break_after=3
for i in range(len(df)/break_after):
dl=pd.DataFrame(df[i*break_after:(i+1)*break_after]).T
dl.columns=range(break_after)
dk=pd.concat([dk,dl])
Будет ли несколько индексов? Например. 2010,2011,2012 .... –
нет, всего один индекс – csaladenes