Maison > développement back-end > Tutoriel Python > Un traitement de données efficace en Python mérite le détour

Un traitement de données efficace en Python mérite le détour

烟雨青岚
Libérer: 2020-06-16 17:31:59
avant
2608 Les gens l'ont consulté

Un traitement de données efficace en Python mérite le détour

Traitement efficace des données à voir en Python

Pandas est un outil de traitement de données très couramment utilisé en Python et très pratique à utiliser. Il est construit sur la structure du tableau NumPy, donc beaucoup de ses opérations sont écrites via les modules d'extension fournis avec NumPy ou Pandas. Ces modules sont écrits en Cython et compilés en C, et sont exécutés en C, garantissant ainsi la vitesse de traitement.

Aujourd'hui, nous allons expérimenter sa puissance.

1. Créer des données

L'utilisation de pandas peut facilement créer des données. Créons maintenant un DataFrame pandas avec 5 colonnes et 1000 lignes :

mu1, sigma1 = 0, 0.1
mu2, sigma2 = 0.2, 0.2
n = 1000df = pd.DataFrame(
    {
        "a1": pd.np.random.normal(mu1, sigma1, n),
        "a2": pd.np.random.normal(mu2, sigma2, n),
        "a3": pd.np.random.randint(0, 5, n),
        "y1": pd.np.logspace(0, 1, num=n),
        "y2": pd.np.random.randint(0, 2, n),
    }
)
Copier après la connexion
  • a1 et a2 : échantillons aléatoires tirés d'une distribution normale (gaussienne).
  • a3 : Entier aléatoire de 0 à 4.
  • y1 : uniformément réparti sur une échelle logarithmique de 0 à 1.
  • y2 : Entier aléatoire de 0 à 1.

génère des données comme indiqué ci-dessous :

2. Tracez l'image

Fonction de traçage Pandas Renvoie un axe de coordonnées matplotlib (Axes), afin que nous puissions personnaliser ce dont nous avons besoin. Par exemple, tracez une ligne verticale et une ligne parallèle. Cela nous sera très bénéfique :

1. Tracez la ligne moyenne

2 Marquez les points clés

import matplotlib.pyplot as plt
ax = df.y1.plot()
ax.axhline(6, color="red", linestyle="--")
ax.axvline(775, color="red", linestyle="--")
plt.show()
Copier après la connexion

Nous pouvons également personnaliser le nombre de tableaux affichés sur un graphique :

fig, ax = plt.subplots(2, 2, figsize=(14,7))
df.plot(x="index", y="y1", ax=ax[0, 0])
df.plot.scatter(x="index", y="y2", ax=ax[0, 1])
df.plot.scatter(x="index", y="a3", ax=ax[1, 0])
df.plot(x="index", y="a1", ax=ax[1, 1])
plt.show()
Copier après la connexion

3. Dessinez un histogramme.

Pandas nous permet d'obtenir la comparaison de forme de deux figures de manière très simple :

df[["a1", "a2"]].plot(bins=30, kind="hist")
plt.show()
Copier après la connexion

Il permet également de dessiner plusieurs figures :

df[["a1", "a2"]].plot(bins=30, kind="hist", subplots=True)
plt.show()
Copier après la connexion

Bien entendu, la génération d'un graphique linéaire n'est pas incluse dans le dessin :

df[['a1', 'a2']].plot(by=df.y2, subplots=True)
plt.show()
Copier après la connexion

4. Ajustement linéaire

Les pandas peuvent également être utilisés pour l'ajustement. Utilisons les pandas pour trouver une ligne droite la plus proche de la figure suivante :

Le La méthode des moindres carrés calcule la ligne droite la plus courte Distance :

df['ones'] = pd.np.ones(len(df))
m, c = pd.np.linalg.lstsq(df[['index', 'ones']], df['y1'], rcond=None)[0]
Copier après la connexion
Dessinez y et la ligne droite ajustée en fonction du résultat des moindres carrés :

df['y'] = df['index'].apply(lambda x: x * m + c)
df[['y', 'y1']].plot()
plt.show()
Copier après la connexion

Merci pour en lisant, j'espère que vous en bénéficierez beaucoup.

Cet article est reproduit à partir de : https://blog.csdn.net/u010751000/article/details/106735872

Tutoriel recommandé : "

Tutoriel python"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal