w3resource
Python Pandas Exercises

Pandas Datetime: Get all the sighting days of the unidentified flying object (ufo) which are less than or equal to 40 years

Pandas Datetime: Exercise-4 with Solution

Write a Pandas program to get all the sighting days of the unidentified flying object (ufo) which are less than or equal to 40 years (365*40 days).

Sample Solution :

Python Code :

import pandas as pd
import datetime
df = pd.read_csv(r'ufo.csv')
df['Date_time'] = df['Date_time'].astype('datetime64[ns]')
now = pd.to_datetime('today')
duration = datetime.timedelta(days=365*40)
print("Original Dataframe:")
print(df.head())
print("\nCurrent date:")
print(now)
print("\nSighting days of the unidentified flying object (ufo) which are less than or equal to 40 years (365*40 days):")
df =  df[now - df['Date_time'] <= duration]
print(df.head())

Sample Output:

Original Dataframe:
            Date_time                  city     ...       latitude   longitude
0 1910-06-01 15:00:00           wills point     ...      32.709167  -96.008056
1 1920-06-11 21:00:00                cicero     ...      40.123889  -86.013333
2 1929-07-05 14:00:00  buchanan  (or burns)     ...      43.642500 -118.627500
3 1931-06-01 13:00:00               abilene     ...      38.917222  -97.213611
4 1939-06-01 20:00:00              waterloo     ...      34.918056  -88.064167

[5 rows x 11 columns]

Current date:
2019-07-11 11:55:03.162800

Sighting days of the unidentified flying object (ufo) which are less than or equal to 40 years (365*40 days):
              Date_time          city     ...       latitude   longitude
149 1980-01-01 01:00:00  indianapolis     ...      39.768333  -86.158056
150 1980-01-01 23:30:00      chicopee     ...      42.148611  -72.608333
151 1980-03-01 00:30:00        oxford     ...      41.433889  -73.117222
152 1980-03-01 18:00:00        bisbee     ...      31.448056 -109.927778
153 1981-01-01 00:01:00      el cajon     ...      32.794722 -116.961667

[5 rows x 11 columns]

Python Code Editor:


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Pandas program to get the current date, oldest date and number of days between Current date and oldest date of Ufo dataset.
Next: Write a Pandas program to get all the sighting days of the unidentified flying object (ufo) between 1950-10-10 and 1960-10-10.

What is the difficulty level of this exercise?