How should I transform from datetime to string? My attempt:
dates = p.to_datetime(p.Series(['20010101', '20010331']), format = '%Y%m%d') dates.str 
                Use astype() to Change datetime to String Format You can use this if the date is already in the format you want it in string form. The below example returns the date as a string with format %Y/%m/%d . dtype of column ConvertedDate will be object ( string ).
strftime() function is used to convert to Index using specified date_format. The function return an Index of formatted strings specified by date_format, which supports the same string format as the python standard library.
There is no .str accessor for datetimes and you can't do .astype(str) either.
Instead, use .dt.strftime:
>>> series = pd.Series(['20010101', '20010331']) >>> dates = pd.to_datetime(series, format='%Y%m%d') >>> dates.dt.strftime('%Y-%m-%d') 0    2001-01-01 1    2001-03-31 dtype: object  See the docs on customizing date string formats here: strftime() and strptime() Behavior.
For old pandas versions <0.17.0, one can instead can call .apply with the Python standard library's datetime.strftime:
>>> dates.apply(lambda x: x.strftime('%Y-%m-%d')) 0    2001-01-01 1    2001-03-31 dtype: object 
                        As of pandas version 0.17.0, you can format with the dt accessor:
dates.dt.strftime('%Y-%m-%d') 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With