Конечно, есть более элегантный способ, но вы можете подумать о том, чтобы играть с этого
import pandas as pd
import numpy as np
date1 = "1/10/2019 17:24,8/1/2019 12:04,,21/1/2019 16:30, 23/1/2019 20:35,,7/1/2019 17:58,24/1/2019 11:50,,7/1/2019 12:55"
date2 = "15/2/2019 17:41,11/1/2019 10:02,16/1/2019 11:30,,30/1/2019 12:35,,8/1/2019 14:18,25/1/2019 8:00,1/3/2019 13:00,8/1/2019 15:03"
df = pd.DataFrame({"date1":date1.split(','),
"date2":date2.split(',')})
for col in df.columns:
df[col] = pd.to_datetime(df[col])
def fun(row):
if row.isnull().any():
return np.nan
ts = pd.DataFrame(pd.date_range(row["date1"],row["date2"]), columns=["date"])
ts["dow"] = ts["date"].dt.weekday
return (ts["dow"]<5).sum()
df["diff"] = df.apply(lambda x: fun(x), axis=1)