Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG: DatetimeIndex.strftime converts NaT to string 'NaT' #29578

Closed
jschendel opened this issue Nov 12, 2019 · 0 comments · Fixed by #29583
Closed

BUG: DatetimeIndex.strftime converts NaT to string 'NaT' #29578

jschendel opened this issue Nov 12, 2019 · 0 comments · Fixed by #29583
Labels
Bug Missing-data np.nan, pd.NaT, pd.NA, dropna, isnull, interpolate Timeseries
Milestone

Comments

@jschendel
Copy link
Member

Code Sample, a copy-pastable example if possible

In [1]: import pandas as pd; pd.__version__
Out[1]: '0.26.0.dev0+857.g2ade669c7'

In [2]: dti = pd.DatetimeIndex(["2019-01-01", pd.NaT])

In [3]: dti.strftime("%Y-%m-%d")
Out[3]: Index(['2019-01-01', 'NaT'], dtype='object')

This behavior carries over to Series.dt.strftime as well:

In [4]: s = pd.Series(dti)

In [5]: s.dt.strftime("%Y-%m-%d").values
Out[5]: array(['2019-01-01', 'NaT'], dtype=object)

Problem description

DatetimeIndex.strftime and Series.dt.strftime do not maintain missing values and instead coerce them to strings.

Expected Output

I'd expect NaT to get converted to np.nan.

Output of pd.show_versions()

INSTALLED VERSIONS

commit : 2ade669
python : 3.7.3.final.0
python-bits : 64
OS : Darwin
OS-release : 18.6.0
machine : x86_64
processor : i386
byteorder : little
LC_ALL : None
LANG : en_US.UTF-8
LOCALE : en_US.UTF-8

pandas : 0.26.0.dev0+857.g2ade669c7
numpy : 1.16.4
pytz : 2019.1
dateutil : 2.8.0
pip : 19.1.1
setuptools : 41.0.1
Cython : 0.29.13
pytest : 4.6.2
hypothesis : 4.23.6
sphinx : 1.8.5
blosc : None
feather : None
xlsxwriter : 1.1.8
lxml.etree : 4.3.3
html5lib : 1.0.1
pymysql : None
psycopg2 : None
jinja2 : 2.10.1
IPython : 7.5.0
pandas_datareader: None
bs4 : 4.7.1
bottleneck : 1.2.1
fastparquet : 0.3.0
gcsfs : None
lxml.etree : 4.3.3
matplotlib : 3.1.0
numexpr : 2.6.9
odfpy : None
openpyxl : 2.6.2
pandas_gbq : None
pyarrow : 0.11.1
pytables : None
s3fs : 0.2.1
scipy : 1.2.1
sqlalchemy : 1.3.4
tables : 3.5.2
xarray : 0.12.1
xlrd : 1.2.0
xlwt : 1.3.0
xlsxwriter : 1.1.8

@jschendel jschendel added Bug Timeseries Missing-data np.nan, pd.NaT, pd.NA, dropna, isnull, interpolate labels Nov 12, 2019
@jschendel jschendel added this to the Contributions Welcome milestone Nov 12, 2019
@jschendel jschendel modified the milestones: Contributions Welcome, 1.0 Nov 13, 2019
RugeljGG added a commit to RugeljGG/AdventOfCode that referenced this issue Dec 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Missing-data np.nan, pd.NaT, pd.NA, dropna, isnull, interpolate Timeseries
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant