3 回答

TA貢獻1891條經驗 獲得超3個贊
要省略 2/29/2020 的所有日期時間,您需要先將日期時間轉換為比較中的日期。
改變:
post_retrofit[post_retrofit['Unit Datetime'] != date(2020, 2, 29)]
到:
post_retrofit[post_retrofit['Unit Datetime'].dt.date != datetime(2020, 2, 29).date()]

TA貢獻1825條經驗 獲得超4個贊
你的問題不清楚。假設我有以下內容;
數據
post_retrofit_without_2_29=pd.DataFrame({'Unit Datetime':['2020-02-28 23:00:00','2020-02-28 22:00:00','2020-02-29 22:00:00']})
print(post_retrofit_without_2_29)
Unit Datetime
0 2020-02-28 23:00:00
1 2020-02-28 22:00:00
2 2020-02-29 22:00:00
解決方案
要按日期過濾掉,我必須按如下方式將日期時間強制為日期;
post_retrofit_without_2_29['Unit Date']=pd.to_datetime(post_retrofit_without_2_29['Unit Datetime']).dt.strftime("%y-%m-%d")
print(post_retrofit_without_2_29)
Unit Datetime Unit Date
0 2020-02-28 23:00:00 20-02-28
1 2020-02-28 22:00:00 20-02-28
2 2020-02-29 22:00:00 20-02-29
篩選
post_retrofit_without_2_29[post_retrofit_without_2_29['Unit Date']>'20-02-28']
Unit Datetime Unit Date
2 2020-02-29 22:00:00 20-02-29

TA貢獻1848條經驗 獲得超2個贊
您可以通過pivot_table()使用datesas 索引創(chuàng)建一個來輕松地做到這一點。因此,時間不會有問題。
post_retrofit_without_2_29_pivot = pd.pivot_table(data=post_retrofit_without_2_29 , index= post_retrofit_without_2_29['Unit Datetime'])
post_retrofit_without_2_29_pivot.loc[hourly_pivot.index != pd.to_datetime("2020-02-29") ]
我知道這有點冗長,但很容易理解。
希望,您對這個答案有一些幫助:}
添加回答
舉報