コアになる時間差の計算部分のみコードにしておきます。
python
1time1 = '10:02:05'
2time2 = '08:01:01'
3
4import dateutil
5
6delta = (dateutil.parser.parse(time1) - dateutil.parser.parse(time2)).total_seconds()
7result = dateutil.relativedelta.relativedelta(seconds=delta)
8print(result.hours) # 2
9print(result.minutes) # 1
10print(result.seconds) # 4
全体の処理概要は、以下のような感じでしょうか。
1)以降の処理を簡単にするため、DataFrameに変換しておく(culomnは開店時間・閉店時間)
2)開店時間・閉店時間を時間型に変換しておく(pandas.to_datetime()を使う)
3)開店時間または閉店時間がnanのデータについて経過時間に-99を設定
4)閉店時間-開店時間を行う。
5)項番4)の結果をdateutilの時間差(秒)を使って計算して経過時間に設定
6)計算結果から時・分・秒を取り出して編集
想定されているコードがないので何とも言えませんが、アプローチ方法がわからないようでしたら上記を参考にいったん、コードを書いてわからなくなったら都度質問されるといいと思います。