pandas中求平均時間差

2021-09-25 12:18:23 字數 2052 閱讀 9526

用最大時間減去最小時間 然後除以次數

報錯: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型別

ifisinstance

(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

python求時間差

1.python求時間差不能使用time 模組,eg t1 time.ctime time.sleep 3 t2 time.ctime t t2 t1 會報錯,不能相減 2.需要使用datetime模組,datetime模組比time模組更能更強。d1 datetime.datetime.now t...

SQL 求時間差

前兩天在寫程式的時候,為了計算兩個日期相差的天數,真是大費周折啊,我才開始 的時候想的是把 時間格式轉換為 long 型,後來一想,不對進製不同啊,後來我想到了資料庫,用 sql2005 中的datediff 函式,問題是解決了,可是每次都得和資料庫互動啊!終於同事的乙個大哥交 了乙個方法,這個方法...

js求時間差(天數差)

如下圖所示 獲取當前年份 2位 date.getfullyear 獲取完整的年份 4位,1970 date.getmonth 獲取當前月份 0 11,0代表1月 date.getdate 獲取當前日 1 31 date.getday 獲取當前星期x 0 6,0代表星期天 date.gettime 獲...