我正在嘗試獲取TimeFrame資料集中所有唯一 s的串列。我的資料集有很多測量值,根據我學習的年份有不同的時間測量值。例如,在 2021 年,每 15 分鐘進行一次測量,而在 2020 年,則是每 20 分鐘進行一次。因為我想比較測量而不考慮日期,只關心時間,所以我試圖獲取資料集中的時間幀串列。這是我到目前為止:
Data['Date | Hour'] = pd.to_datetime(Data['Date'], format='%Y-%m-%d %H:%M')
Data = Data.set_index((Data['Date | Hour']))
Data['Hour']=Data.index.time
Data['Date']=Data.index.date
TimeFrames=[]
V=Data['Hour'].unique()
a=np.arange(0,len(V))
for i in a:
TimeFrames.append(datetime.strftime(V[i],'%H:%M:%S'))
它應該導致類似:
TimeFrames=['00:00:00','00:15:00','00:30:00','00:45:00' ...
但是,它導致:
TypeError: descriptor 'strftime' requires a 'datetime.date' object but received a 'datetime.time'
我試著用日期 ( V=Data[‘Date’].unique())來做它,它產生了一個日期串列......我在想也許我可以添加一個隨機日期到V,運行 for 回圈,并在獲取串列后從所有字串中洗掉日期結果是我想要的串列,但這將是我最后的選擇……有什么想法嗎??
uj5u.com熱心網友回復:
請注意,strftime它可用作類的方法datetime.datetime,datetime.date并且datetime.time(另請參閱有關 datetime 模塊的檔案),并且您在datetime.time此處處理物件。
所以你應該把你的最后一行改為類似的東西
time.strftime(V[i],'%H:%M:%S')
它呼叫了三種方法中的正確一種(當然,您必須使用 匯入類from datetime import time)。
為了讓它更短,您可以直接遍歷陣列(不需要Vand a):
for v in Data['Hour'].unique():
TimeFrames.append(time.strftime(v,'%H:%M:%S'))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/394492.html
