w3resource

Pandas Datetime: Count year-country wise frequency of reporting dates of unidentified flying object (UFO)


10. Year-Country Wise Frequency of UFO Reports

Write a Pandas program to count year-country wise frequency of reporting dates of unidentified flying object (UFO).

Sample Solution :

Python Code :

import pandas as pd
df = pd.read_csv(r'ufo.csv')
df['Date_time'] = df['Date_time'].astype('datetime64[ns]')
print("Original Dataframe:")
print(df.head())
df['Year'] = df['Date_time'].apply(lambda x: "%d" % (x.year))
result = df.groupby(['Year', 'country']).size()
print("\nCountry-year wise frequency of reporting dates of UFO:")
print(result)

Sample Output:

Original Dataframe:
            Date_time                  city     ...       latitude   longitude
0 1949-10-10 20:30:00            san marcos     ...      29.883056  -97.941111
1 1949-10-10 21:00:00          lackland afb     ...      29.384210  -98.581082
2 1955-10-10 17:00:00  chester (uk/england)     ...      53.200000   -2.916667
3 1956-10-10 21:00:00                  edna     ...      28.978333  -96.645833
4 1960-10-10 20:00:00               kaneohe     ...      21.418056 -157.803611

[5 rows x 11 columns]

Country-year wise frequency of reporting dates of UFO:
Year  country
1949  us          1
1955  gb          1
1956  us          1
1960  us          1
1961  us          1
1965  gb          1
      us          1
1966  us          2
1968  us          2
1970  us          2
1971  us          1
1972  us          2
1973  us          1
1974  gb          1
      us          2
1975  us          1
1976  gb          1
      us          1
1977  us          2
1978  us          1
1979  us          3
1980  us          3
1984  us          3
1985  gb          1
1988  us          4
1989  us          2
1990  us          1
1991  us          2
1992  us          4
1993  us          2
1994  ca          1
      us          2
1995  us          2
1996  us          3
1997  us          4
1998  ca          1
      us          8
1999  us         10
2000  ca          1
      us          6
2001  au          1
      ca          1
      us          6
2002  au          1
      ca          1
      us          5
2003  us          8
2004  ca          1
      us          1
dtype: int64

For more Practice: Solve these Related Problems:

  • Write a Pandas program to create a pivot table that counts the frequency of UFO reports by year and country.
  • Write a Pandas program to group the UFO dataset by year and country and then compute the count of reports for each combination.
  • Write a Pandas program to generate a multi-index pivot table that shows the frequency of sightings aggregated by year and country.
  • Write a Pandas program to summarize the UFO reporting frequency by creating a cross-tabulation of year versus country.

Go to:


Previous: Write a Pandas program to convert given datetime to timestamp.
Next: Write a Pandas program to extract unique reporting dates of unidentified flying object (UFO).

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?



Follow us on Facebook and Twitter for latest update.