Guest User

Untitled

a guest
Jun 18th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. import pandas as pd
  2. import altair as alt
  3.  
  4. data = {0:{'Name':'Mary', 'Sport':'Tennis', 'competition':'2018/06/01'},
  5. 1:{'Name':'Cal', 'Sport':'Tennis','competition':'2018/06/05'},
  6. 2:{'Name':'John', 'Sport':'Tennis','competition':'2018/05/28'},
  7. 3:{'Name':'Jane', 'Sport':'Tennis','competition':'2018/05/20'},
  8. 4:{'Name':'Bob', 'Sport':'Golf','competition':'2018/03/01'},
  9. 5:{'Name':'Jerry', 'Sport':'Golf','competition':'2018/03/03'},
  10. 6:{'Name':'Gustavo', 'Sport':'Golf','competition':'2018/02/28'},
  11. 7:{'Name':'Walter', 'Sport':'Swimming','competition':'2018/01/01'},
  12. 8:{'Name':'Jessy', 'Sport':'Swimming','competition':'2018/01/03'},
  13. 9:{'Name':'Patric', 'Sport':'Running','competition':'2018/02/01'},
  14. 10:{'Name':'John', 'Sport':'Shooting','competition':'2018/04/01'}}
  15.  
  16. df = pd.DataFrame(data).T
  17.  
  18. alt.Chart(df).mark_tick().encode(
  19. x='yearmonthdate(competition):T',
  20. y=alt.Y('Sport:N',
  21. sort=alt.SortField(field='count(Sport:N)', order='ascending', op='sum')
  22. ),
  23. )
  24.  
  25. alt.Chart(df).mark_tick().encode(
  26. x='yearmonthdate(competition):T',
  27. y=alt.Y('Sport:N',
  28. sort=alt.SortField(field='count', order='ascending', op='sum')
  29. ),
  30. ).transform_aggregate(
  31. count='count()',
  32. groupby=['Sport']
  33. ).transform_window(
  34. window=[{'op': 'rank', 'as': 'rank'}],
  35. sort=[{'field': 'count', 'order': 'descending'}]
  36. ).transform_filter('datum.rank <= 3')
Add Comment
Please, Sign In to add comment