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

#pandas #dataframe #rows #transpose

#pandas #фрейм данных #строки #транспонировать

Вопрос:

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

 ITEM    VALUE
=====   ======
item1   value1
item2   value2
item3   value3
item4   value4
item5   value5
item1   value6
item2   value7
item3   value8
item4   value9
item5   value10
  

мне нужно создать фрейм данных, подобный приведенному ниже, с уникальными значениями из столбца 1, чтобы использовать его в качестве заголовка и транспонировать под ним каждые 5 записей из столбца 2. есть простой способ сделать это с помощью pandas? я проверил все страницы в stackoverflow на предмет транспонирования данных с использованием pandas, но ни одна из них не была полезна для этого предложения.

 item1   item2   item3   item4   item5
======  ======  ======  ======  ======
value1  value2  value3  value4  value5
value6  value7  value8  value9  value10
  

Ответ №1:

Назначьте номер группы, а затем pivot ее:

 print (df.assign(group=df.index//5).pivot(index="group", values="VALUE", columns="ITEM"))

ITEM    item1   item2   item3   item4    item5
group                                         
0      value1  value2  value3  value4   value5
1      value6  value7  value8  value9  value10