मेरे पास एक पांडा डेटा फ्रेम है जैसा कि नीचे दिखाया गया है।

Unit_ID    Added_Date                   Status         
105        2019-10-02 07:18:18          Rented
106        2020-15-01 07:18:17          Rented
105        2019-10-02 07:18:19          Rented
108        2020-15-01 07:18:18          Vacant

ऊपर से मैं उस Unit_ID का पता लगाना चाहूंगा जिसे दिनांक कॉलम के आधार पर पिछले 10 दिनों के भीतर जोड़ा गया है।

अपेक्षित उत्पादन:

Unit_ID    Added_Date                   Status         
106        2020-15-01 07:18:17          Rented
108        2020-15-01 07:18:18          Vacant
2
Danish 18 जिंदा 2020, 12:20

3 जवाब

सबसे बढ़िया उत्तर

आप .dt.days एक्सेसर का भी उपयोग कर सकते हैं और इसकी तुलना le 10:

#df['Added_Date']=pd.to_datetime(df['Added_Date'],format='%Y-%d-%m %H:%M:%S')
df[(pd.to_datetime('today') - df['Added_Date'] ).dt.days.le(10)]

   Unit_ID          Added_Date  Status
1      106 2020-01-15 07:18:17  Rented
3      108 2020-01-15 07:18:18  Vacant
3
anky 18 जिंदा 2020, 13:08

यहाँ करने का एक तरीका है:

today = pd.to_datetime('today')
n = 10 # last n days

filter_criteria = df['Added_Date'].sub(today).abs().apply(lambda x: x.days <= n)

df.loc[filter_criteria]

     Unit_ID Added_Date           Status
106      106 2020-01-15 07:18:17  Rented
108      108 2020-01-15 07:18:18  Vacant
2
YOLO 18 जिंदा 2020, 12:42

pd.DateOffset का उपयोग करने का दूसरा तरीका यह है

from datetime import datetime
df.loc[df['Added_Date'] >= (datetime.today() - pd.DateOffset(days=10))]

   Unit_ID          Added_Date  Status
1      106 2020-01-15 07:18:17  Rented
3      108 2020-01-15 07:18:18  Vacant
2
Umar.H 18 जिंदा 2020, 14:04