w3resource

Pandas: Indexing by Time

Pandas Time Series: Exercise-7 with Solution

Write a Pandas program to create a time series object that has time indexed data. Also select the dates of same year and select the dates between certain dates.

Sample Solution:

Python Code :

import pandas as pd
index = pd.DatetimeIndex(['2011-09-02', '2012-08-04',
                          '2015-09-03', '2010-08-04',
                          '2015-03-03', '2011-08-04',
                          '2015-04-03', '2012-08-04'])

s_dates = pd.Series([0, 1, 2, 3, 4, 5, 6, 7], index=index)

print("Time series object with indexed data:")
print(s_dates)
print("\nDates of same year:")
print(s_dates['2015'])
print("\nDates between 2012-01-01 and 2012-12-31")
print(s_dates['2012-01-01':'2012-12-31']) 

Sample Output:

Time series object with indexed data:
2011-09-02    0
2012-08-04    1
2015-09-03    2
2010-08-04    3
2015-03-03    4
2011-08-04    5
2015-04-03    6
2012-08-04    7
dtype: int64

Dates of same year:
2015-09-03    2
2015-03-03    4
2015-04-03    6
dtype: int64

Dates between 2012-01-01 and 2012-12-31
2012-08-04    1
2012-08-04    7
dtype: int64        

Python Code Editor:


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

Previous: Write a Pandas program to create a time-series from a given list of dates as strings.
Next: Write a Pandas program to create a date range using a startpoint date and a number of periods.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Merging two dicts in Python 3.5+ with a single expression

Example:

# How to merge two dictionaries
# in Python 3.5+

x = {'p': 1, 'q': 3}
y = {'q': 5, 'r': 8}

z = {**x, **y}

z
{'r': 4, 'p': 1, 'q': 3}

z = dict(x, **y)
print(z)

Output:

{'p': 1, 'q': 5, 'r': 8}