{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# datetime-series" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2016-05-21T07:48:21.670643", "start_time": "2016-05-21T07:48:20.908200" }, "collapsed": true }, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2016-05-21T07:48:21.716199", "start_time": "2016-05-21T07:48:21.672770" }, "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
date_rangedate_range_strdate_range_str_nan
02016-05-012016-05-01NaN
12016-05-022016-05-022016-05-02
\n", "
" ], "text/plain": [ " date_range date_range_str date_range_str_nan\n", "0 2016-05-01 2016-05-01 NaN\n", "1 2016-05-02 2016-05-02 2016-05-02" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame({\"date_range\": pd.date_range(\"2016-05-01\", \"2016-05-02\")})\n", "df[\"date_range_str\"] = df.date_range.copy().dt.strftime(\"%Y-%m-%d\")\n", "df[\"date_range_str_nan\"] = df.date_range_str.copy()\n", "df.loc[0, \"date_range_str_nan\"] = np.nan\n", "df" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2016-05-21T07:48:21.732704", "start_time": "2016-05-21T07:48:21.718390" }, "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 2 entries, 0 to 1\n", "Data columns (total 3 columns):\n", "date_range 2 non-null datetime64[ns]\n", "date_range_str 2 non-null object\n", "date_range_str_nan 1 non-null object\n", "dtypes: datetime64[ns](1), object(2)\n", "memory usage: 128.0+ bytes\n" ] } ], "source": [ "df.info()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2016-05-21T07:48:21.748455", "start_time": "2016-05-21T07:48:21.736184" }, "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[True, False, False, True]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[\n", " hasattr(df.date_range, \"dt\"),\n", " hasattr(df.date_range, \"str\"),\n", " hasattr(df.date_range_str, \"dt\"),\n", " hasattr(df.date_range_str, \"str\"),\n", "]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2016-05-21T07:48:21.762710", "start_time": "2016-05-21T07:48:21.751672" }, "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0 2016-05-01\n", "1 2016-05-02\n", "Name: date_range_str, dtype: datetime64[ns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.to_datetime(df.date_range_str)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2016-05-21T07:48:21.774643", "start_time": "2016-05-21T07:48:21.766153" }, "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0 NaT\n", "1 2016-05-02\n", "Name: date_range_str_nan, dtype: datetime64[ns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.to_datetime(df.date_range_str_nan)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2016-05-21T07:48:21.789518", "start_time": "2016-05-21T07:48:21.777187" }, "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0 2016-05-01\n", "1 2016-05-02\n", "Name: date_range_str, dtype: datetime64[ns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.date_range_str.astype(\"datetime64\")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2016-05-21T07:48:21.809077", "start_time": "2016-05-21T07:48:21.799185" }, "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Could not convert object to NumPy datetime\n" ] } ], "source": [ "try:\n", " df.date_range_str_nan.astype(\"datetime64\")\n", "except Exception as e:\n", " print(e)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2016-05-21T07:48:21.846817", "start_time": "2016-05-21T07:48:21.813764" }, "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
date_rangedate_range_strdate_range_str_nan
02016-05-012016-05-01NaT
12016-05-022016-05-022016-05-02
\n", "
" ], "text/plain": [ " date_range date_range_str date_range_str_nan\n", "0 2016-05-01 2016-05-01 NaT\n", "1 2016-05-02 2016-05-02 2016-05-02" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import tempfile\n", "f = tempfile.NamedTemporaryFile()\n", "df.to_csv(f.name, index=False)\n", "df_temp = pd.read_csv(f.name, parse_dates=list(df.columns))\n", "df_temp\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2016-05-21T07:48:21.858135", "start_time": "2016-05-21T07:48:21.848864" }, "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 2 entries, 0 to 1\n", "Data columns (total 3 columns):\n", "date_range 2 non-null datetime64[ns]\n", "date_range_str 2 non-null datetime64[ns]\n", "date_range_str_nan 1 non-null datetime64[ns]\n", "dtypes: datetime64[ns](3)\n", "memory usage: 128.0 bytes\n" ] } ], "source": [ "df_temp.info()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2016-05-21T07:48:21.865902", "start_time": "2016-05-21T07:48:21.860326" }, "collapsed": true }, "outputs": [], "source": [ "# https://twitter.com/ksomemo/status/730296410868985856" ] } ], "metadata": { "_draft": { "nbviewer_url": "https://gist.github.com/94460950b46662ca6a460424132658be" }, "gist": { "data": { "description": "datetime-series.ipynb", "public": true }, "id": "94460950b46662ca6a460424132658be" }, "hide_input": false, "kernelspec": { "display_name": "Python [default]", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" }, "toc": { "toc_cell": false, "toc_number_sections": true, "toc_threshold": 6, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 0 }