Ich ließ die Firma O'Reillys "Datenanalyse beginnend mit Python" kaufen.
Notieren Sie den Bauvorgang, damit Sie ihn intern verbreiten können.
Mir wurde gesagt, dass es kein Verfahren für Windows gibt, obwohl es für interne Missionen ist, also habe ich es hinzugefügt. Windows-Benutzer sollten Cygwin verwenden. Hier ist eine Referenz: So installieren Sie Pip und Setuptools auf Cygwin Wenn Sie pip verwenden können, Klicken Sie hier, um virtualenv einzufügen
Ich werde die Erklärung von pip und virtualenv weglassen. Stellen Sie sicher, dass Sie die Befehle mkvirtualenv und pip zur Verfügung haben. Außerdem werde ich mich an Python3 gewöhnen, also werde ich Python3 verwenden. O'Reilly sagt, er solle einen Baldachin-Express aufstellen, aber ich werde die Bibliothek selbst aufstellen.
$ mkvirtualenv --no-site-package --python /usr/local/bin/python3 analytics
(analytics)$ pip install numpy
(analytics)$ pip install scipy
(analytics)$ pip install matplotlib
(analytics)$ pip install ipython
(analytics)$ pip install ipython[notebook]
(analytics)$ ipython
Ich habe es in eine Umgebung namens Analytics unterteilt. Von nun an werde ich in dieser Umgebung arbeiten. Installieren Sie ipython und andere für die Analyse verwendete Bibliotheken. Überprüfen Sie die installierte Bibliothek
$ pip freeze
appnope==0.1.0
cycler==0.9.0
decorator==4.0.6
gnureadline==6.3.3
ipykernel==4.2.2
ipython==4.0.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
matplotlib==1.5.0
mistune==0.7.1
nbconvert==4.1.0
nbformat==4.0.1
notebook==4.0.6
numpy==1.10.4
path.py==8.1.2
pexpect==4.0.1
pickleshare==0.5
ptyprocess==0.5
Pygments==2.0.2
pyparsing==2.0.7
python-dateutil==2.4.2
pytz==2015.7
pyzmq==15.1.0
scipy==0.16.1
simplegeneric==0.8.1
six==1.10.0
terminado==0.6
tornado==4.3
traitlets==4.0.0
wheel==0.24.0
Überprüfen Sie, ob ipython funktioniert.
Python 3.5.1 (default, Dec 7 2015, 21:59:08)
Type "copyright", "credits" or "license" for more information.
IPython 4.0.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]:
Beenden Sie mit Strg + d und installieren Sie Pandas
$ pip install pandas
Lassen Sie uns die Operation überprüfen. Beginnen Sie mit der Option --pylab, um die Diagrammzeichnung zu verwenden
$ ipython --pylab
...
RuntimeError: Python is not installed as a framework. The Mac OS X backend will
Ich bekomme eine Fehlermeldung. Was ist "Python ist nicht als Framework installiert." Gelöst unter Bezugnahme auf das Ergebnis von Google hier. Erstellen Sie eine matplotlibrc-Datei unter ~ / .matplotlib. Füllen Sie Folgendes aus.
~/.matplotlib/matplotlibrc
backend : TkAgg
Überprüfen Sie den Betrieb erneut.
ipython --pylab
In [1]: import pandas #Pandas können gezogen werden
In [2]: plot(arange(10)) #Sie können matplotlib verwenden
OK, wenn ein gerades Diagramm angezeigt wird
ipython notebook
Der Browser wird gestartet. Erstellen Sie ein Notizbuch aus Neu oben rechts. Da es sich um eine Seite handelt, auf der Sie zunächst Befehle eingeben können
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
Drücken Sie und führen Sie mit der Wiedergabetaste oben aus. Jetzt können Sie das Diagramm zeichnen
plt.plot(np.random.randn(1000))
Drücken Sie die Wiedergabetaste mit. Generieren Sie 1000 Zufallszahlen, die einer Normalverteilung folgen, und zeichnen Sie sie in ein Diagramm. Das ipython-Notizbuch kann die Befehlszeile wie folgt aufzeichnen. es ist wunderbar!
Wechseln Sie in ein geeignetes Arbeitsverzeichnis
git clone https://github.com/pydata/pydata-book.git
Auf diese Weise erhalten Sie Beispieldaten, mit denen Sie Ihre Statistiken üben können.
cd pydata-book/ch02
Lassen Sie uns usagov_bitly_data2012-03-16-1331923249.txt in diesem mit Python analysieren! Dies ist übrigens wie ein Protokoll der verkürzten URL-Generierung.
Ich dachte, ich würde es schreiben, aber ich werde es weglassen, weil es von nun an ein Lehrbuch rund um Pakuri sein wird!
Ein praktisches Tool, das in Kapitel 3 vorgestellt wird. Nehmen Sie es auf, weil es Teil der Umgebungskonstruktion ist. In der Analyse scheint es so, als ob Sie das Verhalten der Funktion zeilenweise sehen möchten, wenn Sie einige erweiterte Berechnungen durchführen. Wenn die Berechnung von 10 ms beispielsweise 1 Million Mal wiederholt wird, sie jedoch jedes Mal auf 5 ms verbessert werden kann, kann 1 Million Mal viel Zeit sparen. Ich denke, dass diese Verbesserungen wahrscheinlich effektiver sein werden, wenn es um wissenschaftliche und technologische Berechnungen mit großformatigen Matrizen geht. Es scheint also, dass der Zeilenprofiler ein praktisches Werkzeug ist, mit dem bewertet werden kann, welcher Prozess wie lange für jede Zeile der Funktion dauert.
pip install line_profiler
ipython profile create
vi ~/.ipython/extensions/line_profiler_ext.py
txt:~/.ipython/extensions/line_profiler_ext.py
import line_profiler
def load_ipython_extension(ip):
ip.define_magic('lprun', line_profiler.magic_lprun)
vi ~/.ipython/profile_default/ipython_config.py
py:~/.ipython/profile_default/ipython_config.py
#------------------------------------------------------------------------------
# TerminalIPythonApp configuration
#------------------------------------------------------------------------------
c.TerminalIPythonApp.extensions = [
'line_profiler_ext',
]
#------------------------------------------------------------------------------
# TerminalIPythonApp configuration
#------------------------------------------------------------------------------
c.TerminalIPythonApp.extensions = [
'line_profiler_ext',
]
In [1]: from numpy.random import randn
In [2]: def add_and_sum(x, y):
...: added = x + y
...: summed = added.sum(axis=1)
...: return summed
...:
In [5]: x = randn(3000, 3000)
In [6]: y = randn(3000, 3000)
Führen Sie die oben definierte add_and_sum aus. Bewerten Sie mit den Argumenten x und y, wie lange es dauert. Kann mit dem magischen Befehl% lprun verwendet werden.
In [16]: %lprun -f add_and_sum add_and_sum(x, y)
Timer unit: 1e-06 s
Total time: 0.036058 s
File: <ipython-input-2-19f64f63ba0a>
Function: add_and_sum at line 1
Line # Hits Time Per Hit % Time Line Contents
==============================================================
1 def add_and_sum(x, y):
2 1 28247 28247.0 78.3 added = x + y
3 1 7809 7809.0 21.7 summed = added.sum(axis=1)
4 1 2 2.0 0.0 return summed