Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import datetime
- import numpy as np
- import pandas as pd
- def business_date_diff(start, end):
- mask = pd.notnull(start) & pd.notnull(end)
- start = start[mask]
- end = end[mask]
- start = start.values.astype('datetime64[D]')
- end = end.values.astype('datetime64[D]')
- result = np.empty(len(mask), dtype=float)
- result[mask] = np.busday_count(start, end)
- result[~mask] = np.nan
- return result
- print start[0:5]
- print end[0:5]
- print np.busday_count(start, end)[0:5]
- # ['2016-07-04' '2016-07-04' '2016-07-04' '2016-07-04' '2016-07-04']
- # ['2016-07-05' '2016-07-05' '2016-07-05' '2016-07-06' '2016-07-06']
- # [1 1 1 2 2]
- ...
- result = np.empty(len(mask), dtype=float)
- result[mask] = np.busday_count(start, end)
- result[~mask] = np.nan
- print result
- # [ nan nan 1.43700866e-210 1.45159738e-210
- # 1.45159738e-210 1.45159738e-210 1.45159738e-210 1.46618609e-210
- # 1.45159738e-210 1.64491834e-210 1.45159738e-210 1.43700866e-210
- # 1.43700866e-210 1.43700866e-210 1.43700866e-210 1.45159738e-210
- # 1.43700866e-210 1.43700866e-210 1.43700866e-210 1.43700866e-210
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement