{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "s = pd.Series(range(10))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 0\n", "1 1\n", "2 2\n", "3 3\n", "4 4\n", "5 5\n", "6 6\n", "7 7\n", "8 8\n", "9 9\n", "dtype: int64\n" ] } ], "source": [ "print(s)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Rolling [window=3,center=False,axis=0]\n" ] } ], "source": [ "print(s.rolling(3))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print(type(s.rolling(3)))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 NaN\n", "1 NaN\n", "2 3.0\n", "3 6.0\n", "4 9.0\n", "5 12.0\n", "6 15.0\n", "7 18.0\n", "8 21.0\n", "9 24.0\n", "dtype: float64\n" ] } ], "source": [ "print(s.rolling(3).sum())" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 NaN\n", "1 1.0\n", "2 3.0\n", "3 5.0\n", "4 7.0\n", "5 9.0\n", "6 11.0\n", "7 13.0\n", "8 15.0\n", "9 17.0\n", "dtype: float64\n" ] } ], "source": [ "print(s.rolling(2).sum())" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 NaN\n", "1 NaN\n", "2 NaN\n", "3 6.0\n", "4 10.0\n", "5 14.0\n", "6 18.0\n", "7 22.0\n", "8 26.0\n", "9 30.0\n", "dtype: float64\n" ] } ], "source": [ "print(s.rolling(4).sum())" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 NaN\n", "1 3.0\n", "2 6.0\n", "3 9.0\n", "4 12.0\n", "5 15.0\n", "6 18.0\n", "7 21.0\n", "8 24.0\n", "9 NaN\n", "dtype: float64\n" ] } ], "source": [ "print(s.rolling(3, center=True).sum())" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 NaN\n", "1 NaN\n", "2 6.0\n", "3 10.0\n", "4 14.0\n", "5 18.0\n", "6 22.0\n", "7 26.0\n", "8 30.0\n", "9 NaN\n", "dtype: float64\n" ] } ], "source": [ "print(s.rolling(4, center=True).sum())" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 NaN\n", "1 1.0\n", "2 3.0\n", "3 6.0\n", "4 9.0\n", "5 12.0\n", "6 15.0\n", "7 18.0\n", "8 21.0\n", "9 24.0\n", "dtype: float64\n" ] } ], "source": [ "print(s.rolling(3, min_periods=2).sum())" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 0.0\n", "1 1.0\n", "2 3.0\n", "3 6.0\n", "4 9.0\n", "5 12.0\n", "6 15.0\n", "7 18.0\n", "8 21.0\n", "9 24.0\n", "dtype: float64\n" ] } ], "source": [ "print(s.rolling(3, min_periods=1).sum())" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "df = pd.DataFrame({'a': range(10), 'b': range(10, 0, -1),\n", " 'c': range(10, 20), 'd': range(20, 10, -1)})" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " a b c d\n", "0 NaN NaN NaN NaN\n", "1 1.0 19.0 21.0 39.0\n", "2 3.0 17.0 23.0 37.0\n", "3 5.0 15.0 25.0 35.0\n", "4 7.0 13.0 27.0 33.0\n", "5 9.0 11.0 29.0 31.0\n", "6 11.0 9.0 31.0 29.0\n", "7 13.0 7.0 33.0 27.0\n", "8 15.0 5.0 35.0 25.0\n", "9 17.0 3.0 37.0 23.0\n" ] } ], "source": [ "print(df.rolling(2).sum())" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " a b c d\n", "0 NaN 10.0 20.0 30.0\n", "1 NaN 10.0 20.0 30.0\n", "2 NaN 10.0 20.0 30.0\n", "3 NaN 10.0 20.0 30.0\n", "4 NaN 10.0 20.0 30.0\n", "5 NaN 10.0 20.0 30.0\n", "6 NaN 10.0 20.0 30.0\n", "7 NaN 10.0 20.0 30.0\n", "8 NaN 10.0 20.0 30.0\n", "9 NaN 10.0 20.0 30.0\n" ] } ], "source": [ "print(df.rolling(2, axis=1).sum())" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 NaN\n", "1 NaN\n", "2 1.0\n", "3 2.0\n", "4 3.0\n", "5 4.0\n", "6 5.0\n", "7 6.0\n", "8 7.0\n", "9 8.0\n", "dtype: float64\n" ] } ], "source": [ "print(s.rolling(3).mean())" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " sum min max mean\n", "0 NaN NaN NaN NaN\n", "1 NaN NaN NaN NaN\n", "2 3.0 0.0 2.0 1.0\n", "3 6.0 1.0 3.0 2.0\n", "4 9.0 2.0 4.0 3.0\n", "5 12.0 3.0 5.0 4.0\n", "6 15.0 4.0 6.0 5.0\n", "7 18.0 5.0 7.0 6.0\n", "8 21.0 6.0 8.0 7.0\n", "9 24.0 7.0 9.0 8.0\n" ] } ], "source": [ "print(s.rolling(3).agg([sum, min, max, 'mean']))" ] } ], "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.7.0" } }, "nbformat": 4, "nbformat_minor": 2 }