Advertisement
Guest User

Untitled

a guest
Jul 28th, 2015
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. df = pd.DataFrame({
  2. 'Branch' : ['A', 'A', 'A', 'B', 'B', 'B'],
  3. 'M1': [1,3,5,8,9,3],
  4. 'M2': [2,4,5,9,2,1],
  5. 'Output': [1,5,5,8,1,3]
  6. })
  7.  
  8. def group_center (df):
  9. df['M1'] = df['M1'] - df['M1'].mean()
  10. df['M2'] = df['M2'] - df['M2'].mean()
  11. return df
  12.  
  13. centered = df.groupby('Branch').apply(group_center)
  14.  
  15. In [53]:
  16.  
  17. cols = ['M1','M2']
  18. df[cols] = df.groupby('Branch')[cols].apply(lambda x: x - x.mean())
  19. df
  20. Out[53]:
  21. Branch M1 M2 Output
  22. 0 A -2.000000 -1.666667 1
  23. 1 A 0.000000 0.333333 5
  24. 2 A 2.000000 1.333333 5
  25. 3 B 1.333333 5.000000 8
  26. 4 B 2.333333 -2.000000 1
  27. 5 B -3.666667 -3.000000 3
  28.  
  29. means = df.groupby('Branch').apply(mean)
  30. df.set_index("Branch", inplace=True)
  31. output = df['Output']
  32. df = df - means
  33. df['Output'] = output
  34.  
  35. M1 M2 Output
  36. Branch
  37. A -2.000000 -1.666667 1
  38. A 0.000000 0.333333 5
  39. A 2.000000 1.333333 5
  40. B 1.333333 5.000000 8
  41. B 2.333333 -2.000000 1
  42. B -3.666667 -3.000000 3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement