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

# 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['Date_time'] = df['Date_time'].astype('datetime64[ns]')
now = pd.to_datetime('today')
duration = datetime.timedelta(days=365*40)
print("Original Dataframe:")
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]
``````

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.

What is the difficulty level of this exercise?

﻿

## Python: Tips of the Day

Merges two or more lists into a list of lists, combining elements from each of the input lists based on their positions

Example:

```def tips_merge(*args, fill_value=None):
max_length = max([len(lst) for lst in args])
result = []
for i in range(max_length):
result.append([
args[k][i] if i < len(args[k])
else fill_value for k in range(len(args))
])
return result
print(tips_merge(['x', 'y'], [1, 2], [True, False]))
print(tips_merge(['x'], [1, 2], [True, False]))
print(tips_merge(['x'], [1, 2], [True, False], fill_value = '_'))
```

Output:

```[['x', 1, True], ['y', 2, False]]
[['x', 1, True], [None, 2, False]]
[['x', 1, True], ['_', 2, False]]
```