Einfach zu bedienendes Jupyter-Notebook (Python3.5)

Einführung

Das Jupyter-Notizbuch (Python) gilt als Standard für wissenschaftliche und technologische Berechnungen wie die Datenanalyse. Hier ist eine einfache Möglichkeit, mit Docker zu beginnen.

Installieren Sie die Docker Toolbox

Laden Sie das Installationsprogramm von der Docker Toolbox-Site (unten) herunter und führen Sie es aus. https://www.docker.com/products/docker-toolbox

Die Installation ist nicht schwierig, aber bei Bedarf [Referenzlink](# -% E5% 8F% 82% E8% 80% 83% E3% 83% AA% E3% 83% B3% E3% 82% AF )Bitte beziehen Sie sich auf.

Unter Linux können Sie Docker wie folgt installieren.

bash


wget -qO- https://get.docker.com/ | sh

Starten Sie Jupyter

Unter Linux

Bitte gehen Sie wie folgt vor [^ 1].

[^ 1]: Sowohl die Benutzer-ID als auch die Gruppen-ID sind auf 1000 festgelegt. Wenn nicht, ändern Sie das Dockerfile und "docker build" selbst.

bash


mkdir jupyter
docker run -it -d -p 8888:8888 -v $PWD/jupyter:/home/jupyter \
  --name jupyter tsutomu7/alpine-python:jupyter
firefox localhost:8888

Wenn Sie den Container beenden und löschen möchten, gehen Sie wie folgt vor:

bash


docker rm -f jupyter

Unter Windows oder Mac

Wenn Sie Docker Toolbox installieren, wird ein Tool namens Kitematic installiert. Starten Sie Kitematic. Wenn Sie es zum ersten Mal starten, wird der Docker Hub-Anmeldebildschirm angezeigt. Überspringen Sie ihn jedoch.

Wenn Kitematic startet, geben Sie "tsutomu7 / alpine-python" in das Suchfeld ein, wie unten gezeigt. Die Suchergebnisse werden unten angezeigt. Klicken Sie daher unten rechts auf "○○○". image

Klicken Sie wie unten gezeigt auf "SELECTED TAG". image

Klicken Sie auf "Jupiter". image

Drücken Sie "x", um zurückzukehren. image

Drücken Sie "CREATE". image

Der Download wird gestartet und nach einer Weile wird der Container wie unten gezeigt gestartet.

  • ** Klicken Sie unter "VOLUMEN" auf ** und dann auf "Aktivieren", um die unten beschriebenen Ausführungsergebnisse auf dem Host (Windows oder Mac) zu belassen.
  • ** Klicken Sie ** unter "WEB PREVIEW", um den Browser zu öffnen und Jupyter zu verwenden. image

Probieren Sie es aus

image

Graph

Geben Sie Folgendes in eine Zelle ein und drücken Sie Umschalt + Eingabetaste, um auszuführen.

jupyter


%matplotlib inline
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'IPAexGothic'
plt.plot([2,1,3], label='Stichprobe')
plt.legend();

Auf diese Weise können Sie mit matplotlib Diagramme zeichnen und auch Japanisch verarbeiten. image

Optimierung

Geben Sie Folgendes in die Zelle ein und führen Sie es aus. Lösen von Kombinationsoptimierungsproblemen [Lösen von Mathematik](http://qiita.com/Tsutomu-KKE@github/items / 4f919f453aae95b3834b) Sie können auch.

jupyter


import pandas as pd, numpy as np
from more_itertools import grouper
from pulp import *

prob = """\
..6.....1
.7..6..5.
8..1.32..
..5.4.8..
.4.7.2.9.
..8.1.7..
..12.5..3
.6..7..8.
2.....4..
"""
r = range(9)
m = LpProblem() #Mathematisches Modell
a = pd.DataFrame([(i, j, k, LpVariable('x%d%d%d'%(i,j,k), cat=LpBinary))
                  for i in r for j in r for k in r],
                 columns=['Vertikal', 'Seite', 'Nummer', 'x']) # (Formulierung 1)
for i in r:
    for j in r:
        m += lpSum(a[(a.Vertikal== i) & (a.Seite== j)].x) == 1 # (Formulierung 2)
        m += lpSum(a[(a.Vertikal== i) & (a.Nummer== j)].x) == 1 # (Formulierung 3)
        m += lpSum(a[(a.Seite== i) & (a.Nummer== j)].x) == 1 # (Formulierung 4)
for i in range(0, 9, 3):
    for j in range(0, 9, 3):
        for k in r:
            m += lpSum(a[(a.Vertikal>= i) & (a.Vertikal< i+3) & # (Formulierung 5)
                         (a.Seite>= j) & (a.Seite< j+3) & (a.Nummer== k)].x) == 1
for i, s in enumerate(prob.split('\n')):
    for j, c in enumerate(s):
        if c.isdigit():
            k = int(c)-1 # (Formulierung 6)
            m += lpSum(a[(a.Vertikal== i) & (a.Seite== j) & (a.Nummer== k)].x) == 1
m.solve() #Mit Löser lösen
f = a.x.apply(lambda v: value(v) == 1) #Ausgewählte Nummer
print(np.array(list(grouper(9, a.Nummer[f] + 1))))

Ergebnis


[[5 3 6 8 2 7 9 4 1]
 [1 7 2 9 6 4 3 5 8]
 [8 9 4 1 5 3 2 6 7]
 [7 1 5 3 4 9 8 2 6]
 [6 4 3 7 8 2 1 9 5]
 [9 2 8 5 1 6 7 3 4]
 [4 8 1 2 9 5 6 7 3]
 [3 6 9 4 7 1 5 8 2]
 [2 5 7 6 3 8 4 1 9]]

Vergleich mit Jupyter Project

Das Jupyter-Notizbuch enthält auch ein Bild des Jupyter-Projekts (jupyter / notebook). Der diesmal vorgestellte hat die folgenden Vorzüge.

Charakteristisch Was wurde eingeführt Jupyter Project
Neu Python 3.5.1 Python 3.4.3
Kleine Größe 658.5 MB 863.1 MB
Viele installierte Pakete 69 38

tsutomu7 / alpine-python: jupyter installiertes paket

package ver package ver package ver package ver
blist 1.3.6 bokeh 0.11.1 chest 0.2.3 cloudpickle 0.1.1
conda 4.0.5 conda-env 2.4.5 cycler 0.10.0 dask 0.8.2
decorator 4.0.9 entrypoints 0.2 flask 0.10.1 fontconfig 2.11.1
freetype 2.5.5 heapdict 1.0.0 ipykernel 4.3.1 ipython 4.1.2
ipython-genutils 0.1.0 ipython_genutils 0.1.0 ipywidgets 4.1.1 itsdangerous 0.24
jinja2 2.8 jsonschema 2.4.0 jupyter 1.0.0 jupyter-client 4.2.2
jupyter-console 4.1.1 jupyter-core 4.1.0 jupyter_client 4.2.2 jupyter_console 4.1.1
jupyter_core 4.1.0 libgfortran 3.0 libpng 1.6.17 libsodium 1.0.3
libxml2 2.9.2 locket 0.2.0 markdown 2.6.6 markupsafe 0.23
matplotlib 1.5.1 mistune 0.7.2 more-itertools 2.2 mpmath 0.19
nbconvert 4.2.0 nbformat 4.0.1 ncurses 5.9 networkx 1.11
nomkl 1.0 notebook 4.1.0 numpy 1.11.0 openblas 0.2.14
openssl 1.0.2g pandas 0.18.0 partd 0.3.2 path.py 8.2
patsy 0.4.1 pexpect 4.0.1 pickleshare 0.5 pip 8.1.1
psutil 4.1.0 ptyprocess 0.5 pulp 1.6.1 pycosat 0.6.1
pycrypto 2.6.1 pygments 2.1.3 pyjade 4.0.0 pyparsing 2.0.3
pyqt 4.11.4 python 3.5.1 python-dateutil 2.5.2 pytz 2016.3
pyyaml 3.11 pyzmq 15.2.0 qt 4.8.7 qtconsole 4.2.1
readline 6.2 requests 2.9.1 scikit-learn 0.17.1 scipy 0.17.0
seaborn 0.7.0 setuptools 20.3 simplegeneric 0.8.1 sip 4.16.9
six 1.10.0 sqlite 3.9.2 statsmodels 0.6.1 sympy 1.0
terminado 0.5 tk 8.5.18 toolz 0.7.4 tornado 4.3
traitlets 4.2.1 werkzeug 0.11.5 wheel 0.29.0 xz 5.0.5
yaml 0.1.6 zeromq 4.1.3 zlib 1.2.8

jupyter / notebook installierte pakete

package ver package ver package ver package ver
backports-abc (0.4) cffi (1.5.2) cryptography (1.2.2) decorator (4.0.9)
idna (2.0) ipykernel (4.2.2) ipython (4.1.1) ipython-genutils (0.1.0)
Jinja2 (2.8) jsonschema (2.5.1) jupyter-client (4.1.1) jupyter-core (4.0.6)
MarkupSafe (0.23) mistune (0.7.1) nbconvert (4.1.0) nbformat (4.0.1)
ndg-httpsclient (0.4.0) nose (1.3.7) notebook (5.0.0.dev0) path.py (8.1.2)
pexpect (4.0.1) pickleshare (0.6) pip (8.0.2) ptyprocess (0.5.1)
pyasn1 (0.1.9) pycparser (2.14) Pygments (2.1.1) pyOpenSSL (0.15.1)
pyzmq (15.2.0) requests (2.9.1) setuptools (20.1.1) simplegeneric (0.8.1)
six (1.10.0) terminado (0.6) tornado (4.3) traitlets (4.1.0)
wheel (0.29.0) widgetsnbextension (0.0.2.dev0)

Referenzlink

das ist alles

Recommended Posts