2017-04-10 88 views
2

我與熊貓合作減去重複計算值從行,有一個數據幀,看起來像下面這樣:在數據幀

Module Position Layout Count 
x  a   Desktop 50 
x  a   Mobile 20 
y  a   Desktop 100 
y  a   Mobile 30 
z  b   Desktop 80 
z  b   Mobile 20 

我將如何能夠從桌面計數減去莫比爾縣當模塊和位置值匹配,以獲得所產生的數據框:

Module Position Layout Count 
x  a   Desktop 30 
x  a   Mobile 20 
y  a   Desktop 70 
y  a   Mobile 30 
z  b   Desktop 60 
z  b   Mobile 20 

回答

3
d1 = df.set_index(['Module', 'Position', 'Layout']) 
d2 = d1.unstack().diff(-1, axis=1).stack().combine_first(d1).reset_index() 
print(d2) 

    Module Position Layout Count 
0  x  a Desktop 30.0 
1  x  a Mobile 20.0 
2  y  a Desktop 70.0 
3  y  a Mobile 30.0 
4  z  b Desktop 60.0 
5  z  b Mobile 20.0 
+0

如果我是對原有的數據幀數字索引,有沒有保持這些價值,而不必是數字,每列的方式不是索引? –