{ "cells": [ { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "from ipywidgets import *\n", "import pandas\n", "import requests, requests_cache" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "requests_cache.install_cache('frame')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "from dataclasses import dataclass, field" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "import mimetypes\n", "mimetypes = mimetypes.MimeTypes()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "import IPython" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "import traitlets" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "@dataclass\n", "class Explorer:\n", " df: pandas.DataFrame = None \n", " \n", " def __post_init__(self):\n", " self.table = HTML()\n", " self.rows = IntSlider(value=10, start=1, end=min(50, len(self.df)-10))\n", " self.start = IntSlider(start=1, end=len(self.df)-self.rows.value)\n", " traitlets.dlink((self.rows, 'value'), (self.table, 'value'), \n", " lambda _: df.iloc[self.start.value: self.start.value+self.rows.value]._repr_html_())\n", " traitlets.dlink((self.start, 'value'), (self.table, 'value'), \n", " lambda _: df.iloc[self.start.value: self.start.value+self.rows.value]._repr_html_())\n", " def _ipython_display_(self):\n", " IPython.display.display(self.start, self.rows, self.table)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "df = pandas.util.testing.makeDataFrame()" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "c77c374e66164ff7976c4606d1880c60", "version_major": 2, "version_minor": 0 }, "text/plain": [ "IntSlider(value=0)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "1fe9d5c713594dceab00bc10cc3ac7dc", "version_major": 2, "version_minor": 0 }, "text/plain": [ "IntSlider(value=10)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "133cd48c2df54fb6996cee9a67b8d860", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HTML(value='
\\n