Имам таблица, която има две колони, първата е индексът на сайта, а втората е броят състояния на час за 24 часа. Така за всеки сайт имам 24(реда)x2(колони) данни. Как мога да транспонирам втората колона (24 реда данни на сайт) в реда, който съдържа 24+1 колони с индекс на сайта.
Намерих наивно решение, като използвах цикъл за създаване на нов ред:
for i in range(numberOfsites):
i1 = i*24
i2 = i1 + 24
newLine = DataFrame(sitesData,index=list(range(i1,i2)), columns=["siteState"]).T
може ли някой да предложи друго по-лесно решение? Благодаря ви предварително.
Оригинални данни: (благодарение на Andy Hayden за данните)
site_index state
0 1 a
1 1 b
2 1 a
3 2 a
4 2 a
5 2 b
Желани данни:
0 1 2
site_index
1 a b a
2 a a b
sitesData
(защо не можете просто да транспонирате това)? Трудя се да разбера какво точно питате тук, от една страна, кодът, който сте написали, създава само един DataFrame (newLine), вероятно това не е това, което искате. Можете ли да дадете пример с някои фалшиви данни? - person Andy Hayden   schedule 11.06.2013