Environnement enregistré pour l'analyse des données avec Python

Aperçu

J'ai demandé à la société d'acheter "l'analyse des données à partir de Python" d'O'Reilly.

Enregistrez la procédure de construction afin de pouvoir la diffuser en interne.

Postscript

On m'a dit qu'il n'y a pas de procédure pour Windows même si c'est pour des missions en interne, alors je l'ai ajoutée. Les utilisateurs Windows doivent utiliser Cygwin. Voici une référence: Comment installer pip et setuptools sur Cygwin Lorsque vous pouvez utiliser pip, Cliquez ici pour savoir comment insérer virtualenv

Environnement

Présentation de la bibliothèque

Je vais omettre l'explication de pip et virtualenv. Assurez-vous que les commandes mkvirtualenv et pip sont disponibles. De plus, je vais m'habituer à python3, donc j'utiliserai python3. O'Reilly dit de mettre Canopy Express, mais je vais installer la bibliothèque tout seul.

$ 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

Je l'ai séparé en un environnement appelé analytique. Désormais, je travaillerai dans cet environnement. Installez ipython et d'autres bibliothèques utilisées pour l'analyse. Vérifiez la bibliothèque installée

$ 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

Vérifiez si ipython fonctionne.

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]: 

Quittez avec Ctrl + d, puis installez pandas

$ pip install pandas

Contrôle de fonctionnement

Vérifions l'opération. Commencez avec l'option --pylab pour utiliser le dessin graphique

$ ipython --pylab
...
RuntimeError: Python is not installed as a framework. The Mac OS X backend will

J'obtiens une erreur. Qu'est-ce que «Python n'est pas installé en tant que framework». Résolu en se référant au résultat de google ici. Créez un fichier matplotlibrc sous ~ / .matplotlib. Remplissez ce qui suit.

~/.matplotlib/matplotlibrc


backend : TkAgg

Vérifiez à nouveau l'opération.

ipython --pylab
In [1]: import pandas  #les pandas peuvent être tirés
In [2]: plot(arange(10))  #Vous pouvez utiliser matplotlib

OK si un graphique droit est affiché

Utiliser le notebook IPython

ipython notebook

Le navigateur sera lancé. Créer un bloc-notes à partir de Nouveau en haut à droite. Comme ce sera une page où vous pourrez taper des commandes, tout d'abord

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np

Appuyez et exécutez avec le bouton de lecture ci-dessus. Vous pouvez maintenant dessiner le graphique, puis

plt.plot(np.random.randn(1000))

Appuyez sur le bouton de lecture avec. Générez 1000 nombres aléatoires qui suivent une distribution normale et dessinez-les sur un graphique. Le notebook ipython peut enregistrer la ligne de commande comme ceci. c'est incroyable!

スクリーンショット 2016-02-11 20.47.21.png

Essayez l'analyse des données

Préparation préalable

Déplacer vers un répertoire de travail approprié

git clone https://github.com/pydata/pydata-book.git

Cela vous apportera des exemples de données que vous pourrez utiliser pour pratiquer vos statistiques.

cd pydata-book/ch02

Analysons usagov_bitly_data2012-03-16-1331923249.txt avec Python! Au fait, c'est comme un journal de génération d'URL raccourcie.

une analyse

Je pensais l'écrire, mais je vais l'omettre car ce sera désormais un manuel autour des pakuri!

Introduction du profileur de ligne

Un outil pratique qui apparaît au chapitre 3. Enregistrez-le car il fait partie de la construction de l'environnement. Dans l'analyse, il semble que vous souhaitiez voir le comportement de la fonction ligne par ligne lors de l'exécution de certains calculs avancés. Par exemple, si le calcul de 10 ms est répété 1 million de fois, mais qu'il peut être amélioré à 5 ms à chaque fois, 1 million de fois peut gagner beaucoup de temps. Je pense que ces améliorations seront probablement plus efficaces lorsqu'il s'agit de calculs scientifiques et technologiques utilisant des matrices à grande échelle. Ainsi, il semble que le profileur de ligne soit un outil pratique qui peut évaluer quel processus prend le temps qu'il faut pour chaque ligne de la fonction.

Méthode d'introduction

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',
]

Essayez d'évaluer la fonction

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)

Exécutez le add_and_sum défini ci-dessus. Évaluez combien de temps cela prend avec les arguments x et y. Peut être utilisé avec la commande magique% lprun.

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

Recommended Posts

Environnement enregistré pour l'analyse des données avec Python
Liste du code Python utilisé dans l'analyse de Big Data
Analyse de données python
Afficher une liste d'alphabets en Python 3
Analyse de données avec python 2
Présentation de l'analyse de données python
Récupérer l'appelant d'une fonction en Python
Comment envoyer une image visualisée des données créées en Python à Typetalk
Visualisation en temps réel des données thermographiques AMG8833 en Python
Réécrire des éléments dans une boucle de listes (Python)
Résumé du livre électronique Python utile pour l'analyse de données gratuite
L'histoire de la lecture des données HSPICE en Python
Modèle d'analyse de données Python
Créez un tracé de R semblable à un joyplot avec python
Sortie sous la forme d'un tableau python
Touchons une partie de l'apprentissage automatique avec Python
Analyse d'association en Python
Lecture de code de faker, une bibliothèque qui génère des données de test en Python
Analyse de données avec Python
Analyse de régression avec Python
Analyse des données en Python Résumé des sources que les débutants devraient d'abord consulter
Créer un bot de collecte de données en Python à l'aide de Selenium
Résumé des outils nécessaires pour analyser les données en Python
[Python] [Word] [python-docx] Analyse simple des données de diff en utilisant python
Recevez des données de dictionnaire à partir de programmes Python avec AppleScript
Une collection de code souvent utilisée dans Python personnel
Défiez l'analyse des composants principaux des données textuelles avec Python
Ne pas être conscient du contenu des données en python
Jusqu'à ce que vous insériez des données dans une feuille de calcul en Python
Utilisons les données ouvertes de "Mamebus" en Python
Regrouper par éléments consécutifs d'une liste en Python
Un mémorandum sur la mise en œuvre des recommandations en Python
Prendre une capture d'écran en Python
Mon conteneur d'analyse de données python
Gérer les données ambiantes en Python
Créer une fonction en Python
Créer un dictionnaire en Python
Python pour l'analyse des données Chapitre 4
Afficher les données UTM-30LX en Python
Analyse statique des programmes Python
Jugement d'équivalence d'objet en Python
Analyse des contraintes symétriques axiales avec Python
Notes d'apprentissage sur l'analyse des données Python
Créer un bookmarklet en Python
Python pour l'analyse des données Chapitre 2
Analyse de régression simple avec Python
Dessinez un cœur en Python
Implémentation du tri rapide en Python
Analyse de données à l'aide de pandas python
Python pour l'analyse des données Chapitre 3
Résumé des méthodes d'analyse de données statistiques utilisant Python qui peuvent être utilisées en entreprise
Obtenez une grande quantité de données Twitter de Starba avec python et essayez l'analyse de données Partie 1
Consolider un grand nombre de fichiers CSV dans des dossiers avec python (données sans en-tête)
Essayez de gratter les données COVID-19 Tokyo avec Python
Résumé de base des opérations de données dans Python Pandas - Deuxième moitié: agrégation de données
Publication d'une bibliothèque qui masque les données de caractères dans les images Python
Obtenez le nombre d'éléments spécifiques dans la liste python
Record des leçons de l'enfer imposées aux étudiants débutants en Python
[Comprendre au plus court] Principes de base de Python pour l'analyse des données