Une brève analyse du traitement des données Python

不言
Libérer: 2018-05-02 13:46:24
original
1751 Les gens l'ont consulté

Cet article partage avec vous le contenu pertinent et les explications clés sur le traitement des données Python. Les amis intéressés par ce point de connaissance peuvent s'y référer.

Numpy et Pandas sont deux frameworks souvent utilisés dans le traitement des données Python. Ils sont tous deux écrits en langage C, la vitesse de fonctionnement est donc rapide. Matplotlib est un outil de dessin Python qui peut dessiner des données précédemment traitées à travers des images. Je n'ai vu que la syntaxe auparavant et je ne l'ai pas systématiquement étudiée et résumée. Cet article de blog résume les API de ces trois frameworks.

Ce qui suit est une brève introduction et la différence entre ces trois frameworks :

  • Numpy : souvent utilisé pour la génération de données et certaines opérations

  • Pandas : Construit sur Numpy, c'est une version améliorée de Numpy

  • Matplotlib : un puissant outil de dessin en Python

Numpy

Le tutoriel de démarrage rapide de Numpy peut faire référence à : Tutoriel Numpy

Propriétés de Numpy

ndarray.ndim : Dimension

ndarray.shape : Nombre de lignes et de colonnes, telles que (3, 5)

ndarray.size : Nombre d'éléments

ndarray.dtype : type d'élément

Numpy crée

array(object, dtype=None) : utilise la liste ou le tuple de Python pour créer des données

zeors(shape, dtype=float) : Créer des données avec tous les 0

uns(shape, dtype=None) : Créer des données avec tous les 1

vides ( shape, dtype=float) : Créer des données non initialisées

arange([start, ]stop, [step, ]dtype=None) : Créer des segments de données à intervalle fixe

linspace(start, stop, num=50, dtype=None) : Créer des données uniformément dans une plage donnée

Opération Numpy

Ajouter, Soustraire : a + b , a - b

Multiplier : b*2, 10*np.sin(a)

Puissance : b**2

Jugement : a<35, génère un tableau de Vrai ou Faux

Multiplication matricielle : np.dot(A,B) ou A.dot(B)

Autres : +=, -+, sin, cos, exp

Indice Numpy

Méthode d'indexation de tableau : A[1, 1]

Tranche : A[1, 1:3]

Itération : pour l'article en A.flat

Numpy autre

remodeler (a, new_shape) : Changer la forme des données, sans modifier les données d'origine, et renvoyer un nouvel ensemble de données

resize(a, new_shape) : Changer la forme des données, sans modifier les données d'origine. Modifier les données d'origine et ne pas renvoyer de données

ravel(a) : Renvoyez-les dans une dimension

vstack(tup) : Fusionner le haut et le bas

hstack( tup) : Fusionner gauche et droite

hsplit(ary, indices_or_sections) : Diviser n parties horizontalement

vsplit(ary, indices_or_sections ) : Diviser n parties verticalement

copie(a) : Copie profonde

Pandas

Tutoriel de démarrage rapide sur les pandas : 10 minutes pour les pandas

Structure de données Pandas

Pandas a deux structures de données : Series et DataFrame.

Série : Index à gauche, valeur à droite. La méthode de création est la suivante :

In [4]: s = pd.Series([1,3,5,np.nan,6,8])
In [5]: s
Out[5]: 
0  1.0
1  3.0
2  5.0
3  NaN
4  6.0
5  8.0
dtype: float64
Copier après la connexion

DataFrame : Il s'agit d'une structure de données tabulaire avec à la fois un index de ligne et un index de colonne. Elle peut être considérée comme consistante. de la série Un grand dictionnaire composé de. La méthode de création est la suivante :

In [6]: dates = pd.date_range(&#39;20130101&#39;, periods=6)

In [7]: dates
Out[7]: 
DatetimeIndex([&#39;2013-01-01&#39;, &#39;2013-01-02&#39;, &#39;2013-01-03&#39;, &#39;2013-01-04&#39;,
        &#39;2013-01-05&#39;, &#39;2013-01-06&#39;],
       dtype=&#39;datetime64[ns]&#39;, freq=&#39;D&#39;)

In [8]: df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list(&#39;ABCD&#39;))
Copier après la connexion

Pandas view data

index : Index

colonnes : index de colonne

valeurs : valeur

head(n=5) : renvoie les n premiers éléments de données

tail( n=5) : renvoie n éléments de données

describe() : affiche le nombre de données, la valeur moyenne et d'autres données

sort_index (axis=1, ascending=False) : Trier selon l'index

sort_values(by='B') : Trier selon la valeur de l'index

Pandas sélectionne les données

Méthode de sélection de tableau : df['A']

Méthode de sélection de tranche : df[0:3] ou df['20130102':'20130104']

Sélectionnez en fonction de l'étiquette : df.loc['20130102':'20130104',['A','B']]

Sélectionnez en fonction de la position : df. iloc[3:5,0:2 ]

Sélection mixte : df.ix[:3,['A','C']]

Sélection conditionnelle : df[df.A > 0]

Pandas gérant les données manquantes

Supprimer les lignes avec des données manquantes : df.dropna(how='any')

Remplissage des données manquantes : df.fillna(value=5)

Si la valeur des données est NaN : pd.isna(df1)

Pandas a fusionné les données

pd.concat([df1, df2, df3], axis=0) : fusionner df

pd.merge(gauche, droite, on= 'key') : fusion basée sur le champ clé

df.append(s, ignore_index=True) : Ajouter des données

Importation et exportation de pandas

df.to_csv('foo. csv') : Enregistrer dans un fichier csv

pd.read_csv('foo.csv') : Lire à partir d'un fichier csv

df.to_excel('foo.xlsx ', sheet_name='Sheet1') : Enregistrer dans un fichier Excel

pd.read_excel('foo.xlsx', 'Sheet1', index_col=Aucun, na_values=['NA']) : À partir de la lecture d'un fichier Excel

Matplotlib

Ici, nous présentons uniquement la manière la plus simple de tracer :

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 随机生成1000个数据
data = pd.Series(np.random.randn(1000),index=np.arange(1000))
# 为了方便观看效果, 我们累加这个数据
data.cumsum()
# pandas 数据可以直接观看其可视化形式
data.plot()
plt.show()
Copier après la connexion

Recommandations associées :

Une brève discussion sur le problème du chemin du fichier de configuration des journaux 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:php.cn
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