pandasで平均時間差を求める


最大時間から最小時間を減算して回数で割る
エラー:TypeError:ufunc true_divide cannot use operands with types dtype(‘O’) and dtype(’
同じプログラムが処理訓練セットとテストセットで現れた結果は異なる.
時間タイプは
orderTime_x    datetime64[ns]
orderTime_y    datetime64[ns]
dtype: object
 
ID                        
100000000013    10122563500000000
100000000393                    0
100000000459      727472500000000
100000000637                    0
100000000695                    0
100000000949      257783333333333
100000000975                    0
100000001023     1117524500000000
dtypes  object   dtype('O')

 
userid
100000001023           0 days 00:00:00
100000001505    1 days 04:46:17.750000
100000003461           0 days 00:00:00
100000005007           0 days 00:00:00
100000008119           0 days 00:00:00
100000009017   30 days 01:18:12.500000
100000009773           0 days 00:00:00
100000009925    0 days 00:41:10.500000
100000010199   27 days 11:07:17.625000
100000014029           0 days 00:00:00
100000015969           0 days 00:00:00

dtypes 
timedelta64[ns]   dtype('

何が原因なのかは不明ですが、別々に処理するしかありません.この中にもobjectタイプかどうかを判断するピットがあります.boolタイプとは限りません.
f21 = pd.DataFrame(feature.loc[time_gap.index]["F2.1"])
f217 = (time_gap["orderTime_x"] -
        time_gap["orderTime_y"]) / f21["F2.1"]
f217 = pd.DataFrame(f217)

bf217 = f217.dtypes != object
#  bool 
if isinstance(bf217, bool):
	#  bool, object
    if bf217:
        f217[0] = f217[0].values / np.timedelta64(1, 'ns')
else:
	#  bool, .bool() bool 
    if bf217.bool():
        f217[0] = f217[0].values / np.timedelta64(1, 'ns')

feature["F2.17"] = f217