{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "from perspective import PerspectiveWidget" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# !pip install pylantern\n", "import lantern as l\n", "\n", "# basic\n", "df = l.superstore(100)\n", "line = l.line()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Row Pivots" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "df_pivoted = df.set_index(['Country', 'Region'])" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Row IDOrder IDOrder DateShip DateShip ModeCustomer IDSegmentCityStatePostal CodeProduct IDCategorySub-CategorySalesQuantityDiscountProfit
CountryRegion
USRegion 0063-49640792020-10-202020-10-26Standard ClassIKO 4183AWest SeantonVirginia84971OJGL3222720799225Consumer StaplesBeverages500035046.44795.91
Region 2157-84942452020-06-252020-08-08Second ClassV95 7EPDDawsonburghVermont56736LQYX0062999212822Real EstateReal Estate Management & Development150062035.45415.19
Region 1203-27796292020-04-282020-05-09Standard ClassLMD-6068CLake ChelsealandKentucky62187NSAE8004807331908UtilitiesIndependent Power and Renewable Electricity Pr...530034093.91287.28
Region 2363-31369852020-01-302020-08-03Standard Class62K DJ8DEast StaceyWisconsin61615JKKC9539927675852Telecommunication ServicesDiversified Telecommunication Services920063094.93401.90
Region 1464-35542682020-05-072020-07-14First ClassJPB-6717BMoralesstadOhio94452GNCF5305529751523FinancialsCapital Markets94004010.33155.71
\n", "
" ], "text/plain": [ " Row ID Order ID Order Date Ship Date Ship Mode \\\n", "Country Region \n", "US Region 0 0 63-4964079 2020-10-20 2020-10-26 Standard Class \n", " Region 2 1 57-8494245 2020-06-25 2020-08-08 Second Class \n", " Region 1 2 03-2779629 2020-04-28 2020-05-09 Standard Class \n", " Region 2 3 63-3136985 2020-01-30 2020-08-03 Standard Class \n", " Region 1 4 64-3554268 2020-05-07 2020-07-14 First Class \n", "\n", " Customer ID Segment City State Postal Code \\\n", "Country Region \n", "US Region 0 IKO 4183 A West Seanton Virginia 84971 \n", " Region 2 V95 7EP D Dawsonburgh Vermont 56736 \n", " Region 1 LMD-6068 C Lake Chelsealand Kentucky 62187 \n", " Region 2 62K DJ8 D East Stacey Wisconsin 61615 \n", " Region 1 JPB-6717 B Moralesstad Ohio 94452 \n", "\n", " Product ID Category \\\n", "Country Region \n", "US Region 0 OJGL3222720799225 Consumer Staples \n", " Region 2 LQYX0062999212822 Real Estate \n", " Region 1 NSAE8004807331908 Utilities \n", " Region 2 JKKC9539927675852 Telecommunication Services \n", " Region 1 GNCF5305529751523 Financials \n", "\n", " Sub-Category Sales \\\n", "Country Region \n", "US Region 0 Beverages 5000 \n", " Region 2 Real Estate Management & Development 1500 \n", " Region 1 Independent Power and Renewable Electricity Pr... 5300 \n", " Region 2 Diversified Telecommunication Services 9200 \n", " Region 1 Capital Markets 9400 \n", "\n", " Quantity Discount Profit \n", "Country Region \n", "US Region 0 350 46.44 795.91 \n", " Region 2 620 35.45 415.19 \n", " Region 1 340 93.91 287.28 \n", " Region 2 630 94.93 401.90 \n", " Region 1 40 10.33 155.71 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_pivoted.head()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "f3a5f4e1569f431da25c4e2274f8c662", "version_major": 2, "version_minor": 0 }, "text/plain": [ "PerspectiveWidget(columns=['index', 'Country', 'Region', 'Row ID', 'Order ID', 'Order Date', 'Ship Date', 'Shi…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psp = PerspectiveWidget(df_pivoted)\n", "psp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Column Pivots" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
firstbarbazfooqux
secondonetwoonetwoonetwoonetwo
thirdXYXYXYXYXYXYXYXY
A-0.608338-0.8018611.5213440.5108410.195968-1.0634730.637491-0.0184133.5150880.8062540.9048850.126418-0.8536040.5574510.0465820.110949
B0.8314050.0286730.558204-0.3281011.270568-0.746025-0.043396-1.032629-0.803371-0.599530-0.831865-0.850051-0.9343190.530225-1.4843002.060547
C0.060193-0.203357-1.139727-0.2673010.8735351.3421850.0200762.3696311.3332440.408921-1.159719-0.3482501.8081791.360236-0.7725041.034312
\n", "
" ], "text/plain": [ "first bar baz \\\n", "second one two one two \n", "third X Y X Y X Y X \n", "A -0.608338 -0.801861 1.521344 0.510841 0.195968 -1.063473 0.637491 \n", "B 0.831405 0.028673 0.558204 -0.328101 1.270568 -0.746025 -0.043396 \n", "C 0.060193 -0.203357 -1.139727 -0.267301 0.873535 1.342185 0.020076 \n", "\n", "first foo qux \\\n", "second one two one \n", "third Y X Y X Y X Y \n", "A -0.018413 3.515088 0.806254 0.904885 0.126418 -0.853604 0.557451 \n", "B -1.032629 -0.803371 -0.599530 -0.831865 -0.850051 -0.934319 0.530225 \n", "C 2.369631 1.333244 0.408921 -1.159719 -0.348250 1.808179 1.360236 \n", "\n", "first \n", "second two \n", "third X Y \n", "A 0.046582 0.110949 \n", "B -1.484300 2.060547 \n", "C -0.772504 1.034312 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arrays = [np.array(['bar', 'bar', 'bar', 'bar', 'baz', 'baz', 'baz', 'baz', 'foo', 'foo', 'foo', 'foo', 'qux', 'qux', 'qux', 'qux']),\n", " np.array(['one', 'one', 'two', 'two', 'one', 'one', 'two', 'two', 'one', 'one', 'two', 'two', 'one', 'one', 'two', 'two']),\n", " np.array(['X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y'])]\n", "tuples = list(zip(*arrays))\n", "index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second', 'third',])\n", "\n", "df_col = pd.DataFrame(np.random.randn(3, 16), index=['A', 'B', 'C'], columns=index)\n", "df_col" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "a9a4112df5ab4063a111fe092dcad2c0", "version_major": 2, "version_minor": 0 }, "text/plain": [ "PerspectiveWidget(column_pivots=['first', 'second', 'third'], columns=['value'], row_pivots=['index'])" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psp = PerspectiveWidget(df_col)\n", "psp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Pivot Table (Row and Column Pivots)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CategoryConsumer DiscretionaryConsumer StaplesEnergy...Real EstateTelecommunication ServicesUtilities
SegmentABCDABCDAC...BCDABCDACD
CountryRegion
USRegion 0NaN73.75NaN11.5046.4454.9675.4611.3455.0940.520...NaNNaN31.73NaNNaNNaNNaNNaN89.1951.46
Region 1NaNNaNNaNNaNNaN50.62NaNNaNNaNNaN...NaNNaN6.91NaNNaNNaNNaNNaN93.91NaN
Region 2NaN60.3744.2291.5621.42NaNNaN57.69NaNNaN...NaN81.0735.45NaN82.7451.994.9322.45NaNNaN
Region 3NaN30.58NaNNaNNaNNaNNaN94.13NaN30.315...NaNNaNNaNNaN57.14NaNNaNNaNNaNNaN
Region 415.5812.09NaN91.30NaNNaNNaN43.2055.37NaN...98.2272.3978.2230.858.26NaN77.91NaNNaN61.92
\n", "

5 rows × 40 columns

\n", "
" ], "text/plain": [ "Category Consumer Discretionary Consumer Staples \\\n", "Segment A B C D A \n", "Country Region \n", "US Region 0 NaN 73.75 NaN 11.50 46.44 \n", " Region 1 NaN NaN NaN NaN NaN \n", " Region 2 NaN 60.37 44.22 91.56 21.42 \n", " Region 3 NaN 30.58 NaN NaN NaN \n", " Region 4 15.58 12.09 NaN 91.30 NaN \n", "\n", "Category Energy ... Real Estate \\\n", "Segment B C D A C ... B C \n", "Country Region ... \n", "US Region 0 54.96 75.46 11.34 55.09 40.520 ... NaN NaN \n", " Region 1 50.62 NaN NaN NaN NaN ... NaN NaN \n", " Region 2 NaN NaN 57.69 NaN NaN ... NaN 81.07 \n", " Region 3 NaN NaN 94.13 NaN 30.315 ... NaN NaN \n", " Region 4 NaN NaN 43.20 55.37 NaN ... 98.22 72.39 \n", "\n", "Category Telecommunication Services \\\n", "Segment D A B C D \n", "Country Region \n", "US Region 0 31.73 NaN NaN NaN NaN \n", " Region 1 6.91 NaN NaN NaN NaN \n", " Region 2 35.45 NaN 82.74 51.9 94.93 \n", " Region 3 NaN NaN 57.14 NaN NaN \n", " Region 4 78.22 30.85 8.26 NaN 77.91 \n", "\n", "Category Utilities \n", "Segment A C D \n", "Country Region \n", "US Region 0 NaN 89.19 51.46 \n", " Region 1 NaN 93.91 NaN \n", " Region 2 22.45 NaN NaN \n", " Region 3 NaN NaN NaN \n", " Region 4 NaN NaN 61.92 \n", "\n", "[5 rows x 40 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pt = pd.pivot_table(df, values = 'Discount', index=['Country','Region'], columns = ['Category', 'Segment'])\n", "pt" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d04d6a42b97349cab667619913527df0", "version_major": 2, "version_minor": 0 }, "text/plain": [ "PerspectiveWidget(column_pivots=['Category', 'Segment'], columns=['value'], row_pivots=['Country', 'Region'])" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psp = PerspectiveWidget(pt)\n", "psp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# More Pivot examples" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ABCD
0baroneX0
1baroneY1
2bartwoX2
3bartwoY3
4bazoneX4
5bazoneY5
6baztwoX6
7baztwoY7
8foooneX8
9foooneY9
10footwoX10
11footwoY11
12quxoneX12
13quxoneY13
14quxtwoX14
15quxtwoY15
\n", "
" ], "text/plain": [ " A B C D\n", "0 bar one X 0\n", "1 bar one Y 1\n", "2 bar two X 2\n", "3 bar two Y 3\n", "4 baz one X 4\n", "5 baz one Y 5\n", "6 baz two X 6\n", "7 baz two Y 7\n", "8 foo one X 8\n", "9 foo one Y 9\n", "10 foo two X 10\n", "11 foo two Y 11\n", "12 qux one X 12\n", "13 qux one Y 13\n", "14 qux two X 14\n", "15 qux two Y 15" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arrays = {'A':['bar', 'bar', 'bar', 'bar', 'baz', 'baz', 'baz', 'baz', 'foo', 'foo', 'foo', 'foo', 'qux', 'qux', 'qux', 'qux'],\n", " 'B':['one', 'one', 'two', 'two', 'one', 'one', 'two', 'two', 'one', 'one', 'two', 'two', 'one', 'one', 'two', 'two'],\n", " 'C':['X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y'],\n", " 'D':np.arange(16)}\n", "\n", "df = pd.DataFrame(arrays)\n", "df" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
D
Bonetwo
CXYXY
A
bar1111
baz1111
foo1111
qux1111
\n", "
" ], "text/plain": [ " D \n", "B one two \n", "C X Y X Y\n", "A \n", "bar 1 1 1 1\n", "baz 1 1 1 1\n", "foo 1 1 1 1\n", "qux 1 1 1 1" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_pivot=df.pivot_table(values=['D'], index=['A'], columns=['B','C'], aggfunc={'D':'count'})\n", "df_pivot" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "f5ad0e69bd6f4b47b66d7cc079892d28", "version_major": 2, "version_minor": 0 }, "text/plain": [ "PerspectiveWidget(column_pivots=['B', 'C'], columns=['value'], row_pivots=['A'])" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psp = PerspectiveWidget(df_pivot)\n", "psp" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Discount...Sales
StateAlabamaAlaskaArizonaCalifornia...UtahVermontVirginiaWashingtonWest VirginiaWisconsinWyoming
Quantity90490130120190290510680600770...750890170330840310900780910710
CountryRegion
USRegion 01.0NaNNaNNaNNaNNaNNaNNaN1.0NaN...600.0NaNNaNNaNNaNNaNNaNNaNNaNNaN
Region 1NaN1.0NaNNaNNaNNaN1.0NaNNaNNaN...NaN2000.0NaNNaNNaNNaNNaNNaNNaNNaN
Region 2NaNNaNNaNNaNNaN1.0NaN1.0NaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
Region 3NaNNaN1.0NaNNaNNaNNaNNaNNaN1.0...NaNNaNNaNNaN9100.01700.010000.04300.0NaN4800.0
Region 4NaNNaNNaN1.01.0NaNNaNNaNNaNNaN...NaNNaN500.07800.0NaNNaNNaNNaN4700.0NaN
\n", "

5 rows × 200 columns

\n", "
" ], "text/plain": [ " Discount \\\n", "State Alabama Alaska Arizona California \n", "Quantity 90 490 130 120 190 290 510 680 600 \n", "Country Region \n", "US Region 0 1.0 NaN NaN NaN NaN NaN NaN NaN 1.0 \n", " Region 1 NaN 1.0 NaN NaN NaN NaN 1.0 NaN NaN \n", " Region 2 NaN NaN NaN NaN NaN 1.0 NaN 1.0 NaN \n", " Region 3 NaN NaN 1.0 NaN NaN NaN NaN NaN NaN \n", " Region 4 NaN NaN NaN 1.0 1.0 NaN NaN NaN NaN \n", "\n", " ... Sales \\\n", "State ... Utah Vermont Virginia Washington \n", "Quantity 770 ... 750 890 170 330 840 310 \n", "Country Region ... \n", "US Region 0 NaN ... 600.0 NaN NaN NaN NaN NaN \n", " Region 1 NaN ... NaN 2000.0 NaN NaN NaN NaN \n", " Region 2 NaN ... NaN NaN NaN NaN NaN NaN \n", " Region 3 1.0 ... NaN NaN NaN NaN 9100.0 1700.0 \n", " Region 4 NaN ... NaN NaN 500.0 7800.0 NaN NaN \n", "\n", " \n", "State West Virginia Wisconsin Wyoming \n", "Quantity 900 780 910 710 \n", "Country Region \n", "US Region 0 NaN NaN NaN NaN \n", " Region 1 NaN NaN NaN NaN \n", " Region 2 NaN NaN NaN NaN \n", " Region 3 10000.0 4300.0 NaN 4800.0 \n", " Region 4 NaN NaN 4700.0 NaN \n", "\n", "[5 rows x 200 columns]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = l.superstore(100)\n", "pt = pd.pivot_table(df, values = ['Discount','Sales'], index=['Country','Region'],aggfunc={'Discount':'count','Sales':'sum'},columns=[\"State\",\"Quantity\"])\n", "pt" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "cee49dbaf8bd4aca9a2d28f933707e47", "version_major": 2, "version_minor": 0 }, "text/plain": [ "PerspectiveWidget(column_pivots=['State', 'Quantity'], columns=['Discount', 'Sales'], row_pivots=['Country', '…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psp = PerspectiveWidget(pt)\n", "psp" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.7" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "a9a4112df5ab4063a111fe092dcad2c0": { "model_module": "@finos/perspective-jupyterlab", "model_module_version": "~0.5", "model_name": "PerspectiveModel", "state": { "_model_module_version": "~0.5", "_view_module_version": "~0.5", "aggregates": null, "column_pivots": [ "first", "second", "third" ], "columns": [ "value" ], "dark": null, "row_pivots": [ "index" ], "sort": null } }, "cee49dbaf8bd4aca9a2d28f933707e47": { "model_module": "@finos/perspective-jupyterlab", "model_module_version": "~0.5", "model_name": "PerspectiveModel", "state": { "_model_module_version": "~0.5", "_view_module_version": "~0.5", "aggregates": null, "column_pivots": [ "State", "Quantity" ], "columns": [ "Discount", "Sales" ], "dark": null, "row_pivots": [ "Country", "Region" ], "sort": null } }, "d04d6a42b97349cab667619913527df0": { "model_module": "@finos/perspective-jupyterlab", "model_module_version": "~0.5", "model_name": "PerspectiveModel", "state": { "_model_module_version": "~0.5", "_view_module_version": "~0.5", "aggregates": null, "column_pivots": [ "Category", "Segment" ], "columns": [ "value" ], "dark": null, "row_pivots": [ "Country", "Region" ], "sort": null } }, "f3a5f4e1569f431da25c4e2274f8c662": { "model_module": "@finos/perspective-jupyterlab", "model_module_version": "~0.5", "model_name": "PerspectiveModel", "state": { "_model_module_version": "~0.5", "_view_module_version": "~0.5", "aggregates": null, "column_pivots": null, "columns": [ "index", "Country", "Region", "Row ID", "Order ID", "Order Date", "Ship Date", "Ship Mode", "Customer ID", "Segment", "City", "State", "Postal Code", "Product ID", "Category", "Sub-Category", "Sales", "Quantity", "Discount", "Profit" ], "dark": null, "row_pivots": [ "Country", "Region" ], "sort": null } }, "f5ad0e69bd6f4b47b66d7cc079892d28": { "model_module": "@finos/perspective-jupyterlab", "model_module_version": "~0.5", "model_name": "PerspectiveModel", "state": { "_model_module_version": "~0.5", "_view_module_version": "~0.5", "aggregates": null, "column_pivots": [ "B", "C" ], "columns": [ "value" ], "dark": null, "row_pivots": [ "A" ], "sort": null } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 4 }