我有一個每周更新的數據框,我想刪除超過 6 個月的數據例如:我有一個從一月到現在的數據框?,F在是 9 月 14 日,我想刪除舊數據,在本例中是從 1 月到 3 月 14 日。如果是在 12 月,則從 6 月到 12 月,依此類推。謝謝
1 回答

HUWWW
TA貢獻1874條經驗 獲得超12個贊
月份是任意時間段,因為長度會變化
使用布爾索引并針對當前日期減去 182 天進行過濾
或者,
relativedelta
從 pythondateutil
模塊使用,它可以做months
from datetime import datetime
import pandas as pd
from dateutil.relativedelta import relativedelta as rd
# This line is just for creating test data
df = pd.DataFrame({'datetime': pd.date_range(start='2020-01-01', end=datetime.today(), freq='1d').to_pydatetime().tolist()})
# filter out the everything greater than 182 days
df_updated = df[df.datetime > datetime.today() - pd.Timedelta(days=182)]
# alternatively, use the relativedelta
df_updated = df[df.datetime > datetime.today() - rd(months=6)]
添加回答
舉報
0/150
提交
取消