我有一個時間戳,比如 1611903555682,我將其轉換為日期時間,即 2021-01-29 07:59:15,我想知道這個日期時間是否存盤在 pandas 資料幀的時間戳列中,看起來像:
['2021-05-10T19:53:38.205000000' '2021-05-10T19:53:39.210000000' '2021-05-10T19:53:40.215000000' ... '2021-02-08T11:36:08.63910000002 -02-08T11:36:09.644000000''2021-02-08T11:36:10.649000000']
我希望比較只看 YYYY-MM-DD HH-MM-SS,所以忽略毫秒。
我嘗試了以下
if pd.Timestamp(datetime.fromtimestamp(last_timestamp/1000).strftime("%Y-%m-%d, %H:%M:%S") ) in df_processed_timestamps['time'].values:
print('Value is already in dataframe.')
return
但是這個條件永遠不會被輸入,即使值實際上在資料框中(我通過列印資料框來檢查它)。我在做轉換錯誤嗎?事實上,如果我運行:
print(str(pd.Timestamp(datetime.fromtimestamp(last_timestamp/1000).strftime("%Y-%m-%d, %H:%M:%S") )))
print(df_processed_timestamps['time'].values)
我得到:
2021-01-29 07:59:15
['2021-05-10T19:53:38.205000000' '2021-05-10T19:53:39.210000000'
'2021-05-10T19:53:40.215000000' ... '2021-02-08T11:36:08.639000000'
'2021-02-08T11:36:09.644000000' '2021-02-08T11:36:10.649000000']
有什么建議嗎?謝謝!
uj5u.com熱心網友回復:
您的問題是您轉換timestamp
為%Y-%m-%d, %H:%M:%S
但time
列中的值不是該格式。
您可以將time
列轉換為秒,然后檢查是否timestamp
在列中
timestamp = 1611903555682
isin = timestamp in pd.to_datetime(df['time']).values.astype(np.int64) // (10**6)
print(pd.to_datetime(df['time']).values.astype(np.int64) // (10**6))
[1620676418205 1620676419210 1620676420215 1612784168639 1612784169644
1612784170649]
print(isin)
False
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/496318.html
上一篇:日期卡在月份回圈中
下一篇:按一列分組并獲得最小值回傳NA