{
"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",
" date_range | \n",
" date_range_str | \n",
" date_range_str_nan | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 2016-05-01 | \n",
" 2016-05-01 | \n",
" NaN | \n",
"
\n",
" \n",
" 1 | \n",
" 2016-05-02 | \n",
" 2016-05-02 | \n",
" 2016-05-02 | \n",
"
\n",
" \n",
"
\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",
" date_range | \n",
" date_range_str | \n",
" date_range_str_nan | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 2016-05-01 | \n",
" 2016-05-01 | \n",
" NaT | \n",
"
\n",
" \n",
" 1 | \n",
" 2016-05-02 | \n",
" 2016-05-02 | \n",
" 2016-05-02 | \n",
"
\n",
" \n",
"
\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
}