[PYTHON] Une bibliothèque pour la science des données "Je veux faire ça" sur le bloc-notes Jupyter

Cet article

J'ai une bibliothèque pour python et diverses sciences des données.

――Je veux tracer! ――Je veux faire le processus de certification! ――Je veux traiter la trame de données!

Je vais vous présenter le type de bibliothèque disponible pour les éléments de base tels que.

** Demande: veuillez augmenter le nombre d'éléments dans la demande de modification ou nous faire part de vos recommandations. ** **

Traitement de l'information

pandas

Conserver les données dans une "trame de données" sous la forme d'un modèle relationnel (célèbre pour SQL) Il fournit des fonctions telles que le filtrage, le mappage et le regroupement pour cela. Il dispose également d'une multitude d'interfaces pour lire et écrire des données.

Voici un exemple qui lit csv et ne laisse que ceux dont l'article `` ventes '' est égal ou supérieur à 1000.

import pandas as pd
data = pd.read_csv("data.csv")
over_1000 = data[ data['Gains'] > 1000 ]

Traitement algébrique linéaire

numpy

import numpy as np
#Génération de matrice à partir de la liste
mat = np.matrix([[1, 2], [3, 4]])
#Génération de vecteur à partir de la liste
vec = np.array([5, 6])
#Prenez le produit matriciel
mat.dot(vec)

Génération aléatoire

numpy

numpy fournit une large gamme de traitements de base, y compris le traitement de l'algèbre linéaire. La génération aléatoire selon la distribution est également incluse dans cela.

Par exemple, une séquence de nombres aléatoires qui suit une distribution normale peut être générée comme suit:

import numpy as np

mu, sigma = 2, 0.5
v = np.random.normal(mu,sigma,10000)

terrain

Une bibliothèque qui peut être utilisée pour dessiner des graphiques

matplotlib

Il offre la possibilité de dessiner divers graphiques. Puisqu'il s'agit d'une bibliothèque à couche relativement basse, elle sera utilisée en combinaison avec seaborn, etc.

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-3, 3, 0.1)
y = np.sin(x)
plt.plot(x, y)

seaborn

Searborn est une bibliothèque qui enveloppe matplotlib et fournit un moyen plus simple de dessiner des graphiques propres. Par exemple, il fournit la fonction de dessiner une carte thermique.

import numpy as np
import matplotlib
#Lorsque seaborn est importé, le graphique de matplotlib devient un magnifique graphique de style marin.
import seaborn as sns

x = np.random.normal(size=100)
sns.distplot(x);

Test statistique

scipy

scipy est une bibliothèque qui fournit les traitements nécessaires aux calculs scientifiques et technologiques. Cette bibliothèque offre en fait un assez large éventail de fonctionnalités, vous pouvez donc trouver la plupart de ce que vous voulez faire ici.

Le test t peut être effectué comme suit.

import numpy as np
from scipy import stats

a = np.random.normal(0, 1, size=100)
b = np.random.normal(1, 1, size=10)
stats.ttest_ind(a, b)

Différenciation des symboles

sympy

Une bibliothèque qui effectue automatiquement des calculs algébriques. En d'autres termes, c'est une bibliothèque qui peut lancer toutes sortes de transformations de formules. (Au fait, si quelqu'un sait: est-ce un système de réécriture de termes?)

Ici, nous mentionnerons la différenciation symbolique en tant qu'application.

import sympy as sym

#Préparer les variables
x = sym.symbols("x")
#Faire un polymorphe ...
f = x**3 + 2*x**2 - x + 5
#Différencier
df_dx = sym.diff(f, x)

Créer un modèle statistique

statsmodels

Une bibliothèque pratique pour créer des modèles statistiques.

Voici un exemple de génération d'un modèle linéaire généralisé et de visualisation de ses informations statistiques de base (l'AIC, etc. apparaîtra)

import numpy as np
import pandas as pd
import statsmodels.api as sm
import statsmodels.formula.api as smf

df = pd.read_csv("data.csv")

formula = 'Sales ~ AccessCount + MailSendedCount'
mod = smf.ols(formula=formula, data=df)
res = mod.fit()
res.summary()

scikit-learn

Note

(Le contenu sera augmenté de manière séquentielle.)

Recommended Posts

Une bibliothèque pour la science des données "Je veux faire ça" sur le bloc-notes Jupyter
Je veux écrire un blog avec Jupyter Notebook
Je souhaite afficher une image sur Jupyter Notebook à l'aide d'OpenCV (mac)
Je veux obtenir les données de League of Legends ③
Je veux obtenir les données de League of Legends ②
Je veux faire pyenv + pipenv même sous Windows
Je veux obtenir les données de League of Legends ①
Je souhaite créer une application WEB en utilisant les données de League of Legends ①
[Pour la science des données] Aide-mémoire Oreore Jupyter [Jupyter Notebook / Lab]
Je veux dire qu'il y a un prétraitement des données ~
Je veux faire Wake On LAN de manière entièrement automatique
Je veux tracer les informations de localisation de GTFS Realtime sur Jupyter! (Avec ballon)
Recommandation de Jupyter Notebook, un environnement de codage pour les data scientists
Je souhaite annoncer ma thèse de fin d'études sur IPython Notebook
Je souhaite utiliser un environnement virtuel avec jupyter notebook!
Je veux faire ○○ avec les Pandas
Jour 65 J'ai installé matplotlib pour dessiner des graphiques sur mon notebook Jupyter.
J'ai essayé de visualiser les données BigQuery à l'aide de Jupyter Lab avec GCP
Lors de la génération d'un grand nombre de graphiques avec matplotlib, je ne souhaite pas afficher le graphique à l'écran (environnement jupyter)
[Pour les débutants] Je veux obtenir l'index d'un élément qui satisfait une certaine expression conditionnelle
Autoriser Jupyter Notebook à incorporer des données audio dans des tableaux HTML pour la lecture
Je veux utiliser Linux sur mac
J'ai analysé les données Airbnb pour ceux qui veulent rester à Amsterdam
Vérification du GPU du PC sur le notebook Jupyter
Jupyter Notebook Principes d'utilisation
Comment masquer les avertissements qui n'affectent pas l'exécution dans Jupyter Notebook
Pour le moment en utilisant FastAPI, je veux montrer comment utiliser l'API comme ça dans swagger
Je souhaite développer des applications Android sur Android
J'ai fait une bibliothèque pour l'assurance actuarielle
Livres sur la science des données à lire en 2020
Pour ceux qui veulent utiliser Jupyter Notebook dès 1 seconde car ils ne connaissent pas le mot de passe
Je souhaite visualiser l'état des transferts de la J League 2020, que dois-je faire?
L'histoire de l'adresse IPv6 que je souhaite conserver au minimum
Je souhaite utiliser Python dans l'environnement de pyenv + pipenv sous Windows 10
J'ai essayé de récupérer les données de l'ordinateur portable en le démarrant sur Ubuntu
Je veux faire le test de Dunnett en Python
[Jupyter Notebook / Lab] Trois méthodes de débogage sur Jupyter [Pdb]
Analyse des données pour améliorer POG 2 ~ Analyse avec le notebook jupyter ~
Quoi qu'il en soit, je veux vérifier facilement les données JSON
Je veux frapper 100 sciences des données avec Colaboratory
[Pythonocc] J'ai essayé d'utiliser la CAO sur un notebook Jupyter
Je veux enregistrer les entrées / sorties de fichiers sous Linux
Je souhaite personnaliser l'apparence de zabbix
Voulez-vous que je corrige cette copie?
Que faire si votre Jupyter Notebook pour les débutants demande un mot de passe ou un jeton
Je souhaite obtenir des attributs de données personnalisés de HTML sous forme d'éléments à l'aide de Python Selenium
Je souhaite prendre une capture d'écran du site sur Docker en utilisant n'importe quelle police
[First data science ⑥] J'ai essayé de visualiser le prix du marché des restaurants à Tokyo
J'ai essayé de faciliter la modification du paramètre du proxy authentifié sur Jupyter
Je veux détecter des images de chats d'Instagram
Je veux donner un group_id à une trame de données pandas
Je veux grep le résultat de l'exécution de strace
Statistiques simples qui peuvent être utilisées pour analyser l'effet des mesures sur les sites EC et les codes qui peuvent être utilisés dans le notebook jupyter
Je souhaite développer des applications Android sur Android (débogage)
Application Mac pour ouvrir Jupyter Notebook (* .ipynb) en double-cliquant
Je veux bien comprendre les bases de Bokeh
Je souhaite installer un package de Php Redis
Je souhaite utiliser OpenJDK 11 avec Ubuntu Linux 18.04 LTS / 18.10