簡體   English   中英

excel 上傳后日期類型的問題(將時間戳轉換為日期時間)

[英]Problem with date types after excel upload (converting timestamp to datetime)

我在 excel 中有數據,一張表的日期為列,另一張為行。 使用 pd.read_excel 我將它們作為數據框獲取。 一個(Data1)的類型是datetime.datetime,另一個(Data2)是timestamp。

  1. 我如何防止這種情況發生並獲得統一類型?

我想要做

Data1[Data1.index<Data2.columns[-1]]

這返回一個錯誤

TypeError: '<=' 在 'datetime.time' 和 'Timestamp' 的實例之間不被支持

我試着做

datetime(Data2.columns[-1].year,Data2.columns[-1].month,Data2.columns[-1].day) 

代替

Data2.columns[-1]

錯誤更改為

TypeError: '<=' 在 'datetime.time' 和 'datetime.datetime' 的實例之間不被支持

  1. 我迷路了,如何讓類型匹配? 這個 datetime.time 類型憑空是什么。

編輯

這似乎是問題的症結所在:

Data1[Data1.index<Data1.index[3]]

回報

類型錯誤:“datetime.time”和“datetime.datetime”的實例之間不支持“<”

Data1.index 的數據類型是 datetime.time。

確保將蘋果與蘋果進行比較。 要么比較完整的日期時間(日期和時間部分),要么只比較其中的一個。 前任:

from datetime import datetime, timedelta
import pandas as pd

# date and time:
pd.Timestamp('now') >= datetime.now() + timedelta(hours=1)
# False

# time only:
pd.Timestamp('now').time() >= (datetime.now() + timedelta(hours=1)).time()
# False

# date only:
pd.Timestamp('now').date() >= (datetime.now() + timedelta(hours=1)).date()
# True

與例如相反

pd.Timestamp('now').time() >= (datetime.now() + timedelta(hours=1))

...會扔

TypeError: '>=' 在 'datetime.time' 和 'datetime.datetime' 的實例之間不受支持

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM