У меня есть таблица с двумя столбцами, первый - это индекс сайта, а второй - количество состояний в час в течение 24 часов. Таким образом, для каждого сайта у меня есть данные 24 (строки) x 2 (столбцы). Как перенести второй столбец (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
может ли кто-нибудь предложить другое более простое решение? Заранее спасибо.
Исходные данные: (спасибо Энди Хейдену за данные)
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