Мне удалось решить эту проблему и сгенерировать файл .so в одной команде
gcc -shared -o UtilcS.so
-fPIC -I/usr/include/python2.7 -lpython2.7 utilsmodule.c
Вы должны использовать CustomBusinessHour
и pd.date_range
вместо pd.bdate_range
.
Количество часов для вашего второго ряда должно быть 145, потому что конечное время равно 09:31:39.967
.
us_bh = CustomBusinessHour(calendar=USFederalHolidayCalendar())
df['count'] = df.apply(lambda x: len(pd.date_range(start=x.start, end=x.end, freq= us_bh)),axis=1)
df['diff'] = df.apply(lambda x: pd.date_range(start=x.start, end=x.end, freq= us_bh),axis=1)
print(df)
start end count diff
0 2018-10-29 18:48:46.697 2018-10-31 17:56:38.830 16 DatetimeIndex(['2018-10-30 09:00:00', '2018-10...
1 2018-10-29 19:01:10.887 2018-11-27 09:31:39.967 145 DatetimeIndex(['2018-10-30 09:00:00', '2018-10...
2 2018-10-22 17:42:24.467 2018-11-28 18:33:35.243 200 DatetimeIndex(['2018-10-23 09:00:00', '2018-10...
И diff
столбцы начала рабочего часа будут '2018-10-29 09:00:00'
при использовании pd.bdate_range
.
us_bh = CustomBusinessHour(calendar=USFederalHolidayCalendar())
df['count'] = df.apply(lambda x: len(pd.bdate_range(start=x.start, end=x.end, freq= us_bh)),axis=1)
df['diff'] = df.apply(lambda x: pd.bdate_range(start=x.start, end=x.end, freq= us_bh),axis=1)
print(df)
start end count diff
0 2018-10-29 18:48:46.697 2018-10-31 17:56:38.830 16 DatetimeIndex(['2018-10-29 09:00:00', '2018-10...
1 2018-10-29 19:01:10.887 2018-11-27 09:31:39.967 152 DatetimeIndex(['2018-10-29 09:00:00', '2018-10...
2 2018-10-22 17:42:24.467 2018-11-28 18:33:35.243 200 DatetimeIndex(['2018-10-22 09:00:00', '2018-10...