Advertisement
Guest User

Untitled

a guest
Jul 30th, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. import datetime
  2. import numpy as np
  3. import pandas as pd
  4.  
  5. def business_date_diff(start, end):
  6. mask = pd.notnull(start) & pd.notnull(end)
  7. start = start[mask]
  8. end = end[mask]
  9. start = start.values.astype('datetime64[D]')
  10. end = end.values.astype('datetime64[D]')
  11. result = np.empty(len(mask), dtype=float)
  12. result[mask] = np.busday_count(start, end)
  13. result[~mask] = np.nan
  14. return result
  15.  
  16. print start[0:5]
  17. print end[0:5]
  18. print np.busday_count(start, end)[0:5]
  19.  
  20. # ['2016-07-04' '2016-07-04' '2016-07-04' '2016-07-04' '2016-07-04']
  21. # ['2016-07-05' '2016-07-05' '2016-07-05' '2016-07-06' '2016-07-06']
  22. # [1 1 1 2 2]
  23.  
  24. ...
  25. result = np.empty(len(mask), dtype=float)
  26. result[mask] = np.busday_count(start, end)
  27. result[~mask] = np.nan
  28. print result
  29.  
  30. # [ nan nan 1.43700866e-210 1.45159738e-210
  31. # 1.45159738e-210 1.45159738e-210 1.45159738e-210 1.46618609e-210
  32. # 1.45159738e-210 1.64491834e-210 1.45159738e-210 1.43700866e-210
  33. # 1.43700866e-210 1.43700866e-210 1.43700866e-210 1.45159738e-210
  34. # 1.43700866e-210 1.43700866e-210 1.43700866e-210 1.43700866e-210
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement