{ "cells": [ { "cell_type": "markdown", "id": "3f47e32c-e5c1-45ca-bb04-9b4ccc761089", "metadata": { "tags": [] }, "source": [ "Formato de Fechas --- 2:22 min\n", "===\n", "\n", "* 2:22 min | Última modificación: Octubre 14, 2021 | [YouTube](https://youtu.be/pg4LOWUg9dw)" ] }, { "cell_type": "code", "execution_count": 1, "id": "0435023e-a926-408e-890a-535c2d832fef", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "pd.set_option(\"display.notebook_repr_html\", False)" ] }, { "cell_type": "markdown", "id": "94747efc-cb45-4893-8b4b-3a41267d09e6", "metadata": {}, "source": [ "Un problema fundamental en los campos de fecha es la variedad de formatos posibles. Todos los valores del siguiente archivo representan la misma fecha." ] }, { "cell_type": "code", "execution_count": 2, "id": "d72dd56e-0878-48ef-a17e-a449ccae16a1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Overwriting /tmp/data.csv\n" ] } ], "source": [ "%%writefile /tmp/data.csv\n", "birthday\n", "17/09/18\n", "\"September 17, 2018\"\n", "17/09/2018\n", "17/9/18\n", "17-09-18\n", "2018-09-17\n", "9/17/2018\n", "17-Sep-18" ] }, { "cell_type": "code", "execution_count": 3, "id": "9da848bd-eb92-4f75-8d0f-c961ff88ab7d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ " birthday\n", "0 17/09/18\n", "1 September 17, 2018\n", "2 17/09/2018\n", "3 17/9/18\n", "4 17-09-18\n", "5 2018-09-17\n", "6 9/17/2018\n", "7 17-Sep-18" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv('/tmp/data.csv')\n", "df" ] }, { "cell_type": "code", "execution_count": 4, "id": "6086d864-8708-4d6f-a054-96ad796d0613", "metadata": {}, "outputs": [ { "data": { "text/plain": [ " birthday\n", "0 2018-09-17\n", "1 2018-09-17\n", "2 2018-09-17\n", "3 2018-09-17\n", "4 2018-09-17\n", "5 2018-09-17\n", "6 2018-09-17\n", "7 2018-09-17" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.birthday = pd.to_datetime(\n", " df.birthday,\n", " \n", " #\n", " # Por defecto False. Cuando no se especifica\n", " # el formato, infiere el formato de la fecha\n", " #\n", " infer_datetime_format=True,\n", " \n", " #\n", " # Controla el comportamiento ante datos \n", " # invalidos\n", " #\n", " # * 'raise': genera una excepción\n", " # * 'coerce': retorna un NaT \n", " # * 'ignore': retorna el mismo valor\n", " #\n", " errors='coerce',\n", ")\n", "df" ] }, { "cell_type": "code", "execution_count": 5, "id": "2213c40a-7d0c-4abe-a2ec-6c2f7ccf1d77", "metadata": {}, "outputs": [ { "data": { "text/plain": [ " birthday\n", "0 17-09-2018\n", "1 17-09-2018\n", "2 17-09-2018\n", "3 17-09-2018\n", "4 17-09-2018\n", "5 17-09-2018\n", "6 17-09-2018\n", "7 17-09-2018" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Cambio de formato \n", "#\n", "df.birthday = df.birthday.dt.strftime(\"%d-%m-%Y\")\n", "df" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.9" } }, "nbformat": 4, "nbformat_minor": 5 }