我有以下数据帧
´data = {'ID':[279, 224, 221, 329, 333],
'GROUP':['BLACK', 'BLACK', 'BLUE', 'GREEN','BLACK'],
'ITEM_1':['Delhi', 'Kanpur', 'Delhi', 'Kannauj', 'Delhi'],
'ITEM_2':['Msc', 'Kanpur', 'Kanpur', 'Phd', 'Kanpur']}´
´df = pd.DataFrame(data)´
´df = df.set_index('ID')´
ID Group Item_1 Item_2
279 A Delhi Msc
224 A Kanpur Kanpur
221 B Delhi Kanpur
329 C Kannauj Phd
333 A Delhi Kanpur
如何创建以下dataframe,行等于组中的不同项和列,即
Delhi KANPUR Kannauj Msc Phd
A 2/6% 3/6% 0% 1/6% 0%
B 1/2% 1/2% 0% 0% 0%
C 0% 0% 1/2% 0% 1/2%
我的意思是,构造一个数据帧,相对于每组的总数。任何想法都将不胜感激。我认为使用groupby(['GROUP'])和.apply(lambda r:r/r.sum(),axis=1),但这不是我需要这个数据帧的方式
谢谢
首先将这些列合并到单个列:
然后,将其合并回df:
最后转动它
完成
相关问题 更多 >
编程相关推荐