我有如下帶有日期時間索引的熊貓資料框。資料框顯示 4 月和 5 月的資料。(原始資料框有更多列)。
我想洗掉 5 月份的所有行,即從索引 2022-05-01 00:00:00 開始,到 2022-05-31 23:45:00 結束。目前,我通過明確提及索引標簽來做到這一點,但我確信這應該是一種更復雜的方法,而不必提及索引標簽,因此如果資料發生變化并且我想在下個月洗掉,我不會不必硬編碼。我會很感激這方面的幫助。
當前代碼:
start_remove = pd.to_datetime('2022-05-01 00:00:00')
end_remove = pd.to_datetime('2022-05-01 23:45:00')
df = df.loc[(df.index < start_remove) | (df.index > end_remove)]
樣本資料集:
date Open Close High Low
...
2022-04-30 23:30:00 10 11.4 10.2 10.7
2022-04-30 23:45:00 18 17.2 17.2 15.8
2022-05-01 00:00:00 24 24 24.8 24.8
2022-05-01 00:15:00 59 58 60 60.3
2022-05-01 00:30:00 43.7 43.9 48 48
...
...
2022-05-31 23:45:00 41.7 53.9 51 50
uj5u.com熱心網友回復:
您可能希望在選擇月份時包含年份,以避免從其他年份中洗掉同一月份
# assumption: date field is an index
# and is already converted to datetime using pd.to_datetime
df.drop(df.loc[df.index.strftime('%Y%m') == '202205'].index)
將索引轉換為日期時間
df.index=pd.to_datetime(df.index)
df
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/521382.html
