как использовать (np.busday_count) с pandas.core.series.Series - PullRequest
0 голосов
/ 17 января 2019

Я хочу рассчитать рабочие дни между двумя столбцами типа pandas.core.series.Series

между Дата получения и полная дата # только рабочие дни
Я пытался использовать np.busday_count (Дата получения, дата завершения, weekmask = "Пт Сб") но я получаю:

TypeError: Операнд итератора 0 dtype не может быть приведен из от dtype ('M8 [us]') до dtype ('M8 [D]') согласно правилу 'safe'

Вот часть моего фрейма данных:

     Received   Complete
0  2018-09-10 2018-09-25
1  2018-07-16 2018-08-13
2  2018-07-05 2018-07-11
3  2018-07-05 2018-07-23
4  2018-07-26 2018-08-14
5  2018-07-04 2018-08-28
6  2018-07-05 2018-07-10
7  2018-07-05 2018-07-10
8  2018-07-05 2018-07-22
9  2018-07-05 2018-07-22
10 2018-07-05 2018-07-19

1 Ответ

0 голосов
/ 17 января 2019

Как указано в ошибке, преобразуйте в 'datetime64[D]' до , используя np.busday_count:

res = np.busday_count(df['Received'].values.astype('datetime64[D]'),
                      df['Complete'].values.astype('datetime64[D]'),
                      weekmask= "Fri Sat")

# array([ 4,  8,  2,  6,  6, 16,  2,  2,  6,  6,  4], dtype=int64)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...