如何转置包含两列的数据框中的每 n 行,并使用 pandas 将它们显示为列
How to transpose every n rows in a data frame including two columns and show them as column using 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 列中的唯一值制作如下所示的数据框,以将其用作 header 并转置其下方第 2 列中的每 5 条记录。使用 pandas 有什么简单的方法吗?我检查了 Whosebug 中的所有页面以使用 pandas 进行数据转置,但没有一个对这个提议有用。
item1 item2 item3 item4 item5
====== ====== ====== ====== ======
value1 value2 value3 value4 value5
value6 value7 value8 value9 value10
分配一个组号然后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
我有一个 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 列中的唯一值制作如下所示的数据框,以将其用作 header 并转置其下方第 2 列中的每 5 条记录。使用 pandas 有什么简单的方法吗?我检查了 Whosebug 中的所有页面以使用 pandas 进行数据转置,但没有一个对这个提议有用。
item1 item2 item3 item4 item5
====== ====== ====== ====== ======
value1 value2 value3 value4 value5
value6 value7 value8 value9 value10
分配一个组号然后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