我有一个数据帧,我想将其转换为以下内容:
import pandas as pd
df = pd.DataFrame({'ID':[111,111,111,222,222,333],
'class':['merc','humvee','bmw','vw','bmw','merc'],
'imp':[1,2,3,1,2,1]})
print(df)
ID class imp
0 111 merc 1
1 111 humvee 2
2 111 bmw 3
3 222 vw 1
4 222 bmw 2
5 333 merc 1
所需输出:
ID 0 1 2
0 111 merc humvee bmw
1 111 1 2 3
2 222 vw bmw
3 222 1 2
4 333 merc
5 333 1
我希望transpose
整个数据帧,但是grouped by
在本例中是一个特定的列ID
,并维护行order
我的尝试:我尝试使用.set_index(
和.unstack()
,但没有成功
使用^{} 作为计数器,然后通过^{} 和^{} 重塑形状:
另一种方法是使用
groupby
和concat
-虽然这不是完全动态的,但如果您只想使用两列,即class
和imp
,它就可以正常工作相关问题 更多 >
编程相关推荐