How to convert pandas offset to Python date?

In this article, we convert the pandas offset to date in python. When you subtract the pandas from a date object, you get a pandas Timestamp object. You can convert this object to a String format date or Date object(Standard Python date). Or you can use the timedelta object from the datetime library.

Example 1

In the following example code, we remove the offset of 10 days using to_offset("10D") from the pandas pd.to_datetime(?2018-01-04?).

<div class="execute"></div><div class="code-mirror  language-python" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">from</span> pandas<span class="token punctuation">.</span>tseries<span class="token punctuation">.</span>frequencies <span class="token keyword">import</span> to_offset
<span class="token keyword">import</span> pandas <span class="token keyword">as</span> pd
dt <span class="token operator">=</span> pd<span class="token punctuation">.</span>to_datetime<span class="token punctuation">(</span><span class="token string">'2018-01-04'</span><span class="token punctuation">)</span> <span class="token operator">-</span> to_offset<span class="token punctuation">(</span><span class="token string">"10D"</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span><span class="token builtin">type</span><span class="token punctuation">(</span>dt<span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>dt<span class="token punctuation">)</span>
</div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>

Output

The output of the above code is as follows.

<class 'pandas._libs.tslibs.timestamps.Timestamp'>
2017-12-25 00:00:00

In the above output, we can observe that the ?dt? variable is a string. To convert this string to a given format, you can use the strftime. And to convert this string to a date object, you can use the date() function.

Example 2

In the following example code, we convert the string ?2017-12-25 00:00:00? to ?yy-mm-dd? format by using the strftime() method. And to convert this string to a date object we use the date() function.

<div class="execute"></div><div class="code-mirror  language-python" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">from</span> pandas<span class="token punctuation">.</span>tseries<span class="token punctuation">.</span>frequencies <span class="token keyword">import</span> to_offset
<span class="token keyword">import</span> pandas <span class="token keyword">as</span> pd
dt <span class="token operator">=</span> pd<span class="token punctuation">.</span>to_datetime<span class="token punctuation">(</span><span class="token string">'2018-01-04'</span><span class="token punctuation">)</span> <span class="token operator">-</span> to_offset<span class="token punctuation">(</span><span class="token string">"10D"</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>dt<span class="token punctuation">.</span>strftime<span class="token punctuation">(</span><span class="token string">'%Y-%m-%d'</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>dt<span class="token punctuation">.</span>date<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span><span class="token builtin">type</span><span class="token punctuation">(</span>dt<span class="token punctuation">.</span>date<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
</div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>

Output

The following is the output of the above code;

2017-12-25
2017-12-25
<class 'datetime.date'>

Example 3

Following is the example of converting pandas Offset to python date using pandas delta ?

<div class="execute"></div><div class="code-mirror  language-python" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">from</span> pandas<span class="token punctuation">.</span>tseries<span class="token punctuation">.</span>frequencies <span class="token keyword">import</span> to_offset
<span class="token keyword">import</span> pandas <span class="token keyword">as</span> pd
dt <span class="token operator">=</span> pd<span class="token punctuation">.</span>to_datetime<span class="token punctuation">(</span><span class="token string">'2018-01-04'</span><span class="token punctuation">)</span> <span class="token operator">-</span> pd<span class="token punctuation">.</span>Timedelta<span class="token punctuation">(</span><span class="token string">'10D'</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>dt<span class="token punctuation">.</span>strftime<span class="token punctuation">(</span><span class="token string">'%Y-%m-%d'</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>dt<span class="token punctuation">.</span>date<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span><span class="token builtin">type</span><span class="token punctuation">(</span>dt<span class="token punctuation">.</span>date<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
</div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>

Output

2017-12-25
2017-12-25
<class 'datetime.date'="">
</class>

Example 4

Instead of Timedelta() we can also use to_timedelta() ?

<div class="execute"></div><div class="code-mirror  language-python" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">from</span> pandas<span class="token punctuation">.</span>tseries<span class="token punctuation">.</span>frequencies <span class="token keyword">import</span> to_offset
<span class="token keyword">import</span> pandas <span class="token keyword">as</span> pd
dt <span class="token operator">=</span> pd<span class="token punctuation">.</span>to_datetime<span class="token punctuation">(</span><span class="token string">'2022-09-10'</span><span class="token punctuation">)</span> <span class="token operator">-</span> pd<span class="token punctuation">.</span>to_timedelta<span class="token punctuation">(</span><span class="token string">'10D'</span><span class="token punctuation">)</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>dt<span class="token punctuation">.</span>date<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
</div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>

Output

2022-08-31
Updated on: 2022-09-07T07:02:26+05:30

700 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements