Pandas Dataframe рассчитывает количество рабочих дней - PullRequest
0 голосов
/ 26 апреля 2018

Я работаю над проектом и пытаюсь подсчитать количество рабочих дней в месяце. В настоящее время я извлек все уникальные месяцы из одного кадра данных в другой и создал второй столбец с

df2['Signin Date Shifted'] = df2['Signin Date'] + pd.DateOffset(months=1)

Таким образом, текущий фрейм данных выглядит так:

enter image description here

Я знаю, что могу сделать dt.daysinmonth или timedelta, но это дает мне все дни в месяце, включая воскресенье / субботу (чего я не хочу).

1 Ответ

0 голосов
/ 26 апреля 2018

Использование busday_count из np

Ex:

import pandas as pd
import numpy as np

df = pd.DataFrame({"Signin Date": ["2018-01-01", "2018-02-01"]})
df["Signin Date"] = pd.to_datetime(df["Signin Date"])
df['Signin Date Shifted'] = pd.DatetimeIndex(df['Signin Date']) + pd.DateOffset(months=1)

df["bussDays"] = np.busday_count( df["Signin Date"].values.astype('datetime64[D]'), df['Signin Date Shifted'].values.astype('datetime64[D]'))
print(df)

Выход:

  Signin Date Signin Date Shifted  bussDays
0  2018-01-01          2018-02-01        23
1  2018-02-01          2018-03-01        20

MOREINFO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...