Guest User

Untitled

a guest
Feb 21st, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. test <- data.frame(convert_me=c('Convert1','Convert2','Convert3'),
  2. values=rnorm(3,45, 12), age_col=c('23','33','44'))
  3. test
  4.  
  5. library(reshape2)
  6. t <- dcast(test, values ~ convert_me+age_col, length )
  7. t
  8.  
  9. convert_me values age_col
  10. Convert1 21.71502 23
  11. Convert2 58.35506 33
  12. Convert3 60.41639 44
  13.  
  14. values Convert2_33 Convert1_23 Convert3_44
  15. 21.71502 0 1 0
  16. 58.35506 1 0 0
  17. 60.41639 0 0 1
  18.  
  19. In [14]: pd.crosstab(index=df['values'], columns=[df['convert_me'], df['age_col']])
  20. Out[14]:
  21. convert_me Convert1 Convert2 Convert3
  22. age_col 23 33 44
  23. values
  24. 21.71502 1 0 0
  25. 58.35506 0 1 0
  26. 60.41639 0 0 1
  27.  
  28. In [18]: df.pivot_table(index=['values'], columns=['age_col', 'convert_me'], aggfunc=len).fillna(0)
  29. Out[18]:
  30. age_col 23 33 44
  31. convert_me Convert1 Convert2 Convert3
  32. values
  33. 21.71502 1 0 0
  34. 58.35506 0 1 0
  35. 60.41639 0 0 1
  36.  
  37. In [15]: df_cross = pd.crosstab(index=df['values'], columns=[df['convert_me'], df['age_col']])
  38.  
  39. In [16]: df_cross.columns = ["{0}_{1}".format(l1, l2) for l1, l2 in df_cross.columns]
  40.  
  41. In [17]: df_cross
  42. Out[17]:
  43. Convert1_23 Convert2_33 Convert3_44
  44. values
  45. 21.71502 1 0 0
  46. 58.35506 0 1 0
  47. 60.41639 0 0 1
Add Comment
Please, Sign In to add comment