Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
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
