{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Reshaping data\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import pandas as pd\nimport numpy as np\n\n\ntuples = list(\n zip(\n *[\n [\"bar\", \"bar\", \"baz\", \"baz\", \"foo\", \"foo\", \"qux\", \"qux\"],\n [\"one\", \"two\", \"one\", \"two\", \"one\", \"two\", \"one\", \"two\"],\n ]\n )\n)\nindex = pd.MultiIndex.from_tuples(tuples, names=[\"first\", \"second\"])\ndataFrame = pd.DataFrame(np.random.randn(8, 2), index=index, columns=[\"A\", \"B\"])\ndataFrame2 = dataFrame[:4]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Stack**\n\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "stacked = dataFrame2.stack()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "stacked.unstack()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "stacked.unstack(1)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "stacked.unstack(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Pivot tables**\n\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "dataFrame = pd.DataFrame(\n {\n \"A\": [\"one\", \"one\", \"two\", \"three\"] * 3,\n \"B\": [\"A\", \"B\", \"C\"] * 4,\n \"C\": [\"foo\", \"foo\", \"foo\", \"bar\", \"bar\", \"bar\"] * 2,\n \"D\": np.random.randn(12),\n \"E\": np.random.randn(12),\n }\n)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "pd.pivot_table(dataFrame, values=\"D\", index=[\"A\", \"B\"], columns=[\"C\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Time series**\n\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "indexData = pd.date_range(\"1/5/2022\", periods=100, freq=\"S\")\ntimeStemps = pd.Series(np.random.randint(0, 500, len(indexData)), index=indexData)\ntimeStemps.resample(\"5Min\").sum()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "timeStempsUTC = timeStemps.tz_localize(\"UTC\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "timeStempsUTC.tz_convert(\"US/Eastern\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "ps = timeStemps.to_period()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "ps.to_timestamp()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "prng = pd.period_range(\"1990Q1\", \"2000Q4\", freq=\"Q-NOV\")\nts = pd.Series(np.random.randn(len(prng)), prng)\nts.index = (prng.asfreq(\"M\", \"e\") + 1).asfreq(\"H\", \"s\") + 9" ] } ], "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.8.10" } }, "nbformat": 4, "nbformat_minor": 0 }