Galerie de cartes mentales Technologie statistique intelligente
Il explique en détail l'utilisation des bibliothèques numpy, pandas et plt. L'introduction est détaillée et les connaissances sont complètes. J'espère que cela pourra être utile à tout le monde !
Modifié à 2024-02-04 00:48:40Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Technologie statistique intelligente
introduction
cahier de texte
Pensée statistique : statistiques de probabilité pour les programmeurs Mathématiques
analyse et application de données Python
analyser les données
objectif clair
conditions préalables
direction
collecte de données
base de données
autre
traitement de l'information
Nettoyage (prétraitement)
Convertir
extrait
calculer
l'analyse des données
l'analyse des données
pandas
exploration de données
Affichage des données
graphique
feuille
Mot
contenu
théorie des probabilités
statistiques
Mise en œuvre d'analyses quantitatives
bibliothèque appelée
NumPy
Opérations sur les tableaux et les matrices
Extrêmement efficace
Matplotlib
Graphiques, visualisations
Pandas
origine du nom
données de panel et analyse de données
Fonction
Analyse et exploration des données
Structures de données avancées
Série
Données unidimensionnelles
DataFream
Données 2D
NumPy
introduire
Ndarray puissant tableau à N dimensions
Fonction de diffusion fonction ufunc
Outils d'intégration du code C/C/Fortran
Algèbre linéaire, transformée de Fourier, génération de nombres aléatoires et autres fonctions
ndarray
effet
Stocke un tableau multidimensionnel d'un seul type de données
créer
Créer des tableaux multidimensionnels à partir de données existantes
Créer à partir d'une liste, d'objets tuple - array()
np.array(objet, dtype=Aucun, copy=True, order='K', subok=False, ndmin=0)
object — objet liste ou tuple, paramètre obligatoire
dtype — type de données
copier — l'objet est copié
order — organise le tableau dans un certain ordre : C - par ligne ; F - par colonne ; A - par colonne si l'entrée est F, sinon par ligne et par colonne ;
subok —Le tableau renvoyé est forcé vers un tableau de classe de base
ndmin — dimension minimale
Lire à partir d'une chaîne - fromstring()
np.fromstring(string, dtype=float, count=-1, sep=”)
Créer un tableau multidimensionnel d'une forme spécifique
Créer un tableau 'tous 1' - ones()
np.ones(forme, dtype=Aucun, commande='C')
Créer un tableau de « tous des zéros » - zéros()
np.zeros(forme, dtype=float, order='C')
Créer un tableau vide - vide()
np.empty(forme, dtype=float, order='C')
Remplissez le tableau de manière autonome - full()
np.full(shape, fill_value, dtype=Aucun, order='C')
Créer une matrice d'identité - eye()
np.full(n)
Créer un tableau multidimensionnel à partir d'une plage numérique
Créer un tableau de séquences arithmétiques - arange()
np.arange(start=0, stop, step=1, dtype=Aucun)
Créer un tableau de progressions arithmétiques - linspace()
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
num est le nombre de parties égales
Les attributs
ndim
Dimensions
forme
longueur de chaque dimension
taille
nombre total d'éléments
type
type d'élément
taille de l'article
La taille de chaque élément du tableau
Indexation et découpage
Identique à la liste
méthode
remodeler (a, b)
Passer à une matrice avec la ligne a et la colonne b
répéter (4, axe = 1)
Copiez 4 fois et ajoutez à droite
numpy.random
np.random.rand(2, 3)
La valeur numérique est [0,1], 2 lignes et 3 colonnes
np.random.randint(5, taille = (2, 3))
La valeur est inférieure à 5, 2 lignes et 3 colonnes
Matrice NumPy
Est une sous-classe de ndarray
Créer une matrice
Utilisez des points-virgules pour séparer les données
matr1 = np.mat("1 2 3;4 5 6;7 8 9")
Créer une matrice à l'aide de listes
matr2 = np.matrix([[1,2,3],[4,5,6],[7,8,9]])
Combiner de petites matrices en grandes matrices
matr3 = np.bmat("arr1 arr2; arr1 arr2")
propriétés de la matrice
Opérations matricielles
fonction ufunc
effet
Les fonctions capables de traiter les tableaux ndarray peuvent être utilisées directement.
Opérations courantes
Arithmétique
opération de comparaison
opération logique
La fonction np.all(x) signifie utiliser ET logique pour x
La fonction np.any(x) signifie utiliser un OU logique pour x
mécanisme de diffusion
Fait référence à la manière dont les opérations arithmétiques sont effectuées entre des tableaux de formes différentes.
en principe
Laissez tous les tableaux d'entrée être alignés sur le tableau avec la forme la plus longue, et la partie manquante de la forme est constituée en ajoutant 1 devant.
La forme du tableau de sortie est la valeur maximale sur chaque axe de la forme du tableau d'entrée
Si un axe du tableau d'entrée a la même longueur que l'axe correspondant du tableau de sortie ou si sa longueur est 1, alors ce tableau peut être utilisé pour le calcul, sinon une erreur se produit
Lorsque la longueur d'un axe du tableau d'entrée est 1, le premier ensemble de valeurs sur cet axe est utilisé lors de l'opération le long de cet axe.
Lire et écrire des fichiers
fichier binaire
numpy.save (fichier, arr,allow_pickle=True, fix_imports=True)
Remarque : Le répertoire dans le chemin de sauvegarde doit exister ! La fonction de sauvegarde ne crée pas automatiquement des répertoires.
numpy.load(fichier, mmap_mode=Aucun,allow_pickle=True, fix_imports=True, encoding='ASCII')
fichier texte
np.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline=' ', header='', footer='', comments='# ')
numpy.loadtxt(FILENAME, dtype=int, delimiter=' ')
Analyse simple
trier
tri direct
Fait référence au tri direct des valeurs
numpy.sort (a, axe, genre, ordre)
un
tableau à trier
axe
L'axe le long duquel le tableau est trié, ou le long du dernier axe si aucun tableau n'est développé
gentil
La valeur par défaut est « tri rapide » (tri rapide)
commande
Si le tableau contient des champs, le champ sur lequel trier
tri indirect
Fait référence au tri d'un ensemble de données en fonction d'une ou plusieurs clés
numpy.argsort(a)
La fonction effectue un tri indirect du tableau d'entrée le long de l'axe donné et renvoie un tableau d'indices (indices) des données en utilisant le type de tri spécifié.
numpy.lexsort(a,b)
La fonction effectue un tri indirect à l'aide d'une séquence de clés, qui peut être considérée comme une colonne dans une feuille de calcul, et renvoie un tableau d'indices (indices).
Supprimer les doublons
numpy.unique
fonction statistique
matplotlib
introduire
Fournit une multitude de fonctions de dessin mathématique, qui permettent de dessiner facilement des graphiques de données.
Autres outils statistiques visuels
graphique
mot nuage
méthode standard
Processus de base
Créer une toile
<S'il faut créer un sous-graphe>
Sous-parcelle sélectionnée
Définir les axes X, Y
Ajouter une légende (détails)
<Si le dessin est terminé>
enregistrer l'affichage
Analyse des étapes
Créer une toile
plt.figure(figsize=(x,y))
Si vous disposez d'un canevas, vous pouvez créer plusieurs graphiques
plt.subplot(nrows, ncols, index)
Le paramètre nrows spécifie en combien de lignes la zone du graphique de données est divisée
Le paramètre ncols spécifie en combien de colonnes la zone du graphique de données est divisée
Le paramètre index spécifie quelle zone obtenir
Sous-parcelle sélectionnée
graphique en ligne
parcelle
Nuage de points
dispersion
Diagramme à bandes
niveau
bar
verticale
barh
Histogramme
histoire
diagramme circulaire
tarte
...
Définir les axes X, Y
Haches
parcelle
plt.plot(x,y)
x et y sont deux tableaux. Si vous n’en entrez qu’un, l’axe des x par défaut est l’indice du tableau.
Il existe également des paramètres tels que la couleur, la transparence, le style, la largeur, etc.
plt.plot(x, y, color='vert',alpha=0.5,linestyle='-',linewidth=3,marker='*')
Ajouter une légende (détails)
Titre, limites supérieure et inférieure de l'intervalle, légende, segmentation, mise en page, axe, etc.
Définir le titre
plt.xlabel('Heure')
plt.ylabel("Temp")
plt.title('Titre')
Affichage chinois
plt.rcParams['font.sans-serif'] = ['SimHei']
Échelle personnalisée de l'axe X
plt.xticks(range(0,len(x),4),x[::4],rotation=45)
Intervalle sur l'axe X et limites supérieure et inférieure
plt.set_xlim([xmin, xmax]) #Définir l'intervalle de l'axe X
plt.axis([xmin, xmax, ymin, ymax]) #X, intervalle de l'axe Y
plt.set_ylim(bottom=-10) #Limite inférieure de l'axe Y
plt.set_xlim(right=25) #Limite supérieure de l'axe X
méthode rapide
importer matplotlib.pyplot en tant que plt plt.plot(x,y) plt.show()
Pandas
Caractéristiques
Il fournit des objets simples et efficaces avec des étiquettes par défaut (vous pouvez également personnaliser les étiquettes).
Possibilité de charger rapidement des données à partir de fichiers dans différents formats (tels que des fichiers Excel, CSV, SQL) puis de les convertir en objets traitables ;
Possibilité de regrouper les données par étiquettes de lignes et de colonnes, et d'effectuer des opérations d'agrégation et de transformation sur des objets groupés ;
Il peut facilement mettre en œuvre des opérations de normalisation des données et le traitement des valeurs manquantes ;
Il est facile d'ajouter, de modifier ou de supprimer des colonnes de données de DataFrame ;
Capable de gérer des ensembles de données dans différents formats, tels que des données matricielles, des tableaux de données hétérogènes, des séries chronologiques, etc. ;
Fournit diverses façons de traiter des ensembles de données, telles que la création de sous-ensembles, le découpage, le filtrage, le regroupement et la réorganisation.
Structures de données intégrées
Série
définition
1 dimension, capable de stocker divers types de données, tels que des caractères, des entiers, des nombres à virgule flottante, des objets Python, etc. La série utilise des attributs de nom et d'index pour décrire les valeurs des données.
créer
s=pd.Series(données, index, type, copie)
données
Les données d'entrée peuvent être des scalaires, des listes, des dictionnaires, des tableaux ndarray, etc.
indice
La valeur de l'index doit être unique, si aucun index n'est transmis, sa valeur par défaut est np.arrange(n).
type
dtype représente le type de données s’il n’est pas fourni, il sera automatiquement déterminé.
copie
Indique la copie de données, la valeur par défaut est False.
Opérations de base
accéder
index d'indice
Liste similaire
index des balises
Similaire au dictionnaire
Les calculs et opérations Numpy sont applicables
Peut être tranché
Propriétés communes
type
Renvoie le type de données de l'objet.
vide
Renvoie un objet Series vide.
ndim
Renvoie la dimensionnalité des données d'entrée.
taille
Renvoie le nombre d'éléments des données d'entrée.
La différence entre la taille et le nombre : la taille inclut les valeurs NaN lors du comptage, mais le nombre n'inclut pas les valeurs NaN.
valeurs
Renvoie un objet Series sous forme de ndarray.
indice
Renvoie un objet RangeIndex utilisé pour décrire la plage de valeurs de l'index.
Méthodes courantes
décrire()
count : Statistiques de quantité, combien de valeurs valides y a-t-il dans cette colonne ? unipue : Combien y a-t-il de valeurs différentes ? std : écart type min : valeur minimale 25 % : quartile 50 % : un demi-centile 75% : les trois quarts max : valeur maximale signifier: signifier
head()&tail() pour afficher les données
head(n) renvoie les n premières lignes de données et affiche les 5 premières lignes de données par défaut
tail(n) renvoie les n dernières lignes de données, la valeur par défaut est les 5 dernières lignes
isnull()&nonull() détecte les valeurs manquantes
isnull() : renvoie True si la valeur n'existe pas ou est manquante.
notnull() : renvoie False si la valeur n'existe pas ou est manquante.
valeur_comptes
Fréquence statistique
Trame de données
définition
2 dimensions, à la fois index de ligne et index de colonne. L'index de ligne est index et l'index de colonne est colonne. Lors de la création de la structure, vous pouvez spécifier la valeur d'index correspondante.
Le type de données de chaque colonne du tableau peut être différent, comme une chaîne, un entier ou une virgule flottante, etc.
créer
df =pd.DataFrame(données, index, colonnes, type, copie)
données
Les données d'entrée peuvent être une liste, une liste imbriquée de dictionnaire, une liste de dictionnaire imbriquée, une série sous forme de dictionnaire, etc.
Opérations d'index de colonne
L'index de colonne sélectionne les colonnes de données
print(df ['un'])
print(df[['mot', 'caractère chinois', 'signification']])
L'index de colonne ajoute une colonne de données
df['trois']=pd.Series([10,20,30],index=['a','b','c'])
df['quatre']=df['un'] df['trois']
df.insert(1,column='score',value=[91,90,75])
La valeur 1 représente la position de l'index inséré dans la liste des colonnes
Index de colonne supprimer la colonne de données
df.pop('deux')
Fractionner les colonnes extraites
df[df['column_name'] == some_value]
Opérations d'indexation de lignes
index des balises
df1.loc["b" : "e", "bx" : "ex"]
Ramez d'abord, puis faites la queue
index d'indice
df1.iloc[2 : 6, 2 : 4]
Ramez d'abord, puis faites la queue
indice hybride
df1.ix[2 : 6, "bx" : "ex"]
Ramez d'abord, puis faites la queue
Sélection multiligne de l'opération de découpage
df[2 : 4]
Ajouter une ligne de données
df = df.append(df2)
Supprimer la ligne de données
df = df.drop(0)
Fractionner les lignes de récupération
df.loc[df['column_name'] == str]
Lignes de sortie où une certaine colonne est NaN
df[df['mot'].isna()]
Propriétés communes
T
Transposition de ligne et de colonne.
axes
Renvoie une liste avec uniquement les étiquettes des axes de lignes et de colonnes comme membres.
types
Renvoie le type de données de chaque colonne de données.
vide
S'il n'y a aucune donnée dans le DataFrame ou si la longueur d'un axe de coordonnées est 0, True sera renvoyé.
ndim
Le nombre d'axes fait également référence à la dimension du tableau.
forme
Renvoie un tuple (a,b), où a représente le nombre de lignes et b représente le nombre de colonnes.
taille
Nombre d'éléments dans DataFrame
La différence entre la taille et le nombre : la taille inclut les valeurs NaN lors du comptage, mais le nombre n'inclut pas les valeurs NaN.
valeurs
Utilisez des tableaux numpy pour représenter les valeurs des éléments dans un DataFrame
Méthodes courantes
décrire(include='tous')
Identique à la série
Sans paramètres, seules les colonnes numériques seront comptées.
tête() et queue()
Identique à la série
Info()
Afficher les informations
changement()
Déplacer les lignes ou les colonnes selon la longueur de foulée spécifiée
pivot()
Convertissez les colonnes d'un bloc de données afin qu'une certaine colonne devienne un nouvel index de ligne et remplissez la cellule correspondant à cet index avec la valeur d'une autre colonne.
paramètre
index : le nom de la colonne qui deviendra le nouvel index de la ligne
columns : Le nom de la colonne qui deviendra le nouvel index de la colonne
valeurs : les noms de colonnes qui rempliront les cellules entre le nouvel index de ligne et le nouvel index de colonne
sort_values(by='Nom de colonne ou valeur d'index pour le tri', axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)
sort_index(axis=0, level=Aucun, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False, key=Aucun)
axis : l'axe est défini par défaut sur 0, ce qui signifie un tri en fonction de l'index de la ligne ; l'axe est défini sur 1, ce qui signifie un tri en fonction de l'index de la colonne. niveau : La valeur par défaut est Aucun, sinon il est classé dans l'ordre des niveaux donné. ascending : ascending est par défaut True, ce qui correspond à l'ordre croissant, et lorsqu'il est défini sur False, il s'agit d'un ordre décroissant. inplace : la valeur par défaut est False, sinon les données triées remplaceront directement le bloc de données d'origine. kind : méthode de tri, {'quicksort', 'mergesort', 'heapsort'}, 'quicksort' par défaut. Les utilisateurs peuvent choisir na_position : Les valeurs manquantes sont classées en dernier par défaut {"first", "last"}, le paramètre "first" met NaN au début, et "last" met NaN à la fin. ignore_index : booléen, la valeur par défaut est False, si elle est True, alors l'axe est l'étiquette 0, 1, 2 ; il vient d'être ajouté ; key : Il s'agit d'une fonction appelable qui exécute la fonction key sur la valeur de l'index avant le tri. Ceci est quelque peu similaire à la fonction key de la fonction sorted() intégrée
traverser
Parcourez chaque ligne
pour l'index, ligne dans df.iterrows() :
Parcourez chaque colonne
pour la colonne, valeur dans df.iteritems() :
Nettoyage des tables de données
Remplissez les valeurs vides avec le numéro 0
df.fillna(valeur=0)
Utilisez la moyenne de la colonne prince pour remplir la colonne NA
df['prince'].fillna(df['prince'].mean())
Effacer les espaces de caractères dans le champ de la ville
df['city']=df['city'].map(str.strip)
Conversion de cas
df['ville']=df['ville'].str.lower()
Conversion de types de données
df['prix'].astype(int)
Modifier l'index de colonne/ligne
Modifier tout
Index manuscrit
df.columns=['a','b','c']
df.index=['a','b','c']
Indice de référence
df.set_columns("idx",inplace=False)
df.set_index("col",inplace=False)
Modification partielle
df.rename(columns={'category': 'category-size'},inplace=False)
df.rename(index={'category': 'category-size'},inplace=False)
répéter
Rechercher des doublons : df.duplicate() peut renvoyer un tableau booléen indiquant si chaque ligne est un doublon.
Valeurs en double qui apparaissent après la suppression
df['ville'].drop_duplicates()
Supprimez les valeurs en double qui apparaissent en premier
df['city'].drop_duplicates(keep='last')
Sélectionnez la clé primaire
sous-ensemble=['numéro d'étudiant']
Supprimer NaN
df2=df.dropna(axis=0,how="all",inplace=False)
how="all" signifie qu'une certaine ligne (colonne) sera supprimée uniquement si tous les NaN sont présents. how="any" signifie que tant qu'il y a un NaN, il sera supprimé (par défaut)
remplacement des données
df['ville'].replace('sh', 'shanghai')
Fusion de tables de données
fusionner
pd=pd.merge(df,df1,how='inner') #match, fusion, intersection, par défaut df_left=pd.merge(df,df1,how='gauche') df_right=pd.merge(df,df1,how='right') df_outer=pd.merge(df,df1,how='outer') #Union, l'effet est le même que les deux premières combinaisons
ajouter
A été obsolète, il est recommandé d'utiliser concat
rejoindre
concaténer
pd.concat(objs,axis=0,join='outer',join_axes=Aucun,ignore_index=False,keys=Aucun,levels=Aucun,names=Aucun,verify_integrity=False,copy=True)
statistiques
var()
variance
cov()
Covariance
Résumé
Échantillon 1
df = pd.DataFrame({ 'A' : ['a', 'b', 'a', 'c', 'a', 'c', 'b', 'c'], 'B' : [2, 8, 1, 4, 3, 2, 5, 9], 'C' : [102, 98, 107, 104, 115, 87, 92, 123]})
méthode
Regroupez par colonne A et obtenez la moyenne des autres colonnes
df.groupby('A').mean()
Supprimer une certaine colonne
print(df.groupby('key1')['data1'].mean())
Regrouper par plusieurs colonnes (groupby)
df.groupby(['A','B']).mean()
Échantillon 2
df = pd.DataFrame({' A' : liste('XYZXYZXYZX'), 'B' : [1, 2, 1, 3, 1, 2, 3, 3, 1, 2], 'C' : [12, 14, 11, 12, 13, 14, 16, 12, 10, 19]})
méthode
Effectuer différentes opérations statistiques lors de l'utilisation de agg() sur une colonne
df.groupby('A')['B'].agg({'mean':np.mean, 'type déviation': np.std})
opération lambda
Compensation des points minoritaires
df['Score supplémentaire'] = df['Nationalité'].apply (lambda x : 5 si x != '汉' sinon 0)
passer l'examen
df['pass_reading'] = df['reading score'].apply (lambda x : 'Réussite' si x >= 60 sinon 'Échec')
Dessine une image
hache = series1.plot(kind='bar')
fig = ax.get_figure() fig.subplots_adjust(bas=0.4) fig.savefig('output.png')
pd.plot(kind='scatter',x="a",y="b",alpha=0.1)
alpha est la transparence
pd.hist(bins=50,figsize=(7,7))
Entrée et sortie de données
entrer
lire le fichier CSV
df = pd.read_csv("mtcars.csv", encodage="utf-8")
Écrire sur Excel
df = pd.read_excel("mtcars.csv")
sortir
Écrire sur Excel
pd.to_excel('excel_to_python.xlsx', sheet_name='bluewhale_cc')
Écrire au format CSV
pd.to_csv('excel_to_python.csv')
La différence entre Pandas et NumPy
dateheure
La sous-classe 1) .date peut créer des données de séries de date et d'heure, 2) .la sous-classe time peut créer des données horaires d'heure et de minute, et 3) .la sous-classe datetime peut décrire les données de date et d'heure et de minute.
importer la date et l'heure cur = datetime.datetime(2018,12,30, 15,30,59) imprimer cur,type(cur) d = dateheure.date(2018,12,30) imprimer d t = datetime.datetime(2018,12,30).now() imprimer t
2018-12-30 15:30:59 <tapez 'datetime.datetime'> 2018-12-30 2018-12-16 15:35:42.757826
4). Vous pouvez utiliser le module timedelta de datetime pour donner l'intervalle de temps (différence).
importer la date et l'heure cur0 = datetime.datetime(2018,12,30, 15,30,59) imprimer cur0 cur1 = cur0 datetime.timedelta(jours = 1) imprimer cur1 cur2 = cur0 datetime.timedelta(minutes = 10) imprimer cur2 cur3 = cur0 datetime.timedelta(minutes = 29, secondes = 1) imprimer cur3
2018-12-30 15:30:59 #cur0 2018-12-31 15:30:59 #cur1 2018-12-30 15:40:59 #cur2 2018-12-30 16:00:00 #cur3
Créez des données de séries chronologiques avec des données datetime. Cela signifie utiliser l’heure de création datetime comme index.
à partir de datetime importation datetime, timedelta importer numpy en tant que np importer des pandas en tant que PD b = dateheure (2018,12,16, 17,30,55) vi = np.random.randn(60) ind = [] pour x dans la plage (60) : bi = b timedelta(minutes = x) ind.append(bi) ts = pd.Série (vi, index = ind) imprimer ts[:5]
2018-12-16 17:30:55 -1.469098 2018-12-16 17:31:55 -0.583046 2018-12-16 17:32:55 -0.775167 2018-12-16 17:33:55 -0.740570 2018-12-16 17:34:55 -0.287118 type : float64
Remplir
gentil
Classe d'histoire
Mappe une valeur à une quantité représentée sous forme d'entier
Classe PMF
Mappe une valeur à une probabilité exprimée sous forme de nombre à virgule flottante
Le processus ci-dessus est appelé normalisation, c'est-à-dire que la probabilité est égale à 1.
Classe CDF
Inconvénients du PMF
Applicabilité du PMF : lorsque les données à traiter sont relativement petites
À mesure que les données augmentent, la probabilité de chaque valeur diminue et l'impact du bruit aléatoire augmente.
Solution
Regroupement de données : déterminer la taille de l'intervalle de regroupement nécessite des compétences
Lorsque l'intervalle de regroupement est suffisamment grand pour éliminer le bruit, des informations utiles peuvent être ignorées.
CDF
fonction de distribution cumulative
Il peut décrire complètement la distribution de probabilité d'une variable aléatoire réelle X, qui est l'intégrale de la fonction de densité de probabilité.
rang centile
Prenons l'exemple des résultats des tests : présentés sous deux formes 1. Score brut 2. Rang centile : la proportion de personnes dont les scores initiaux ne sont pas supérieurs aux vôtres parmi le nombre total de candidats au test est multipliée par 100. Par exemple : si une personne se classe dans le 90e centile, cela signifie que son score est meilleur que celui de 90 % des personnes ou du moins pas pire que celui de 90 % des candidats ;
Après avoir calculé le CDF, le percentile et le rang percentile peuvent être calculés plus facilement.
fonction
Rang centile (x)
Pour une valeur x donnée, calculez son rang percentile
100*CDF(x)
Percentile (p) : pour un rang centile donné, calculez la valeur x correspondante ;
gamme interquartile
quartiles
L'intervalle interquartile est un indicateur statistique qui décrit la distribution de données discrètes. Il représente respectivement les 25e, 50e et 75e centiles des données.
gamme interquartile
Le quartile supérieur moins le quartile inférieur correspond à la fourchette des quatre quarts.
effet
L'intervalle interquartile représente le degré de dispersion des données. Plus l'intervalle interquartile est grand, plus le degré de dispersion des données est élevé.
boîte à moustaches
Avec la valeur minimale, le quartile inférieur, la médiane, le quartile supérieur et la valeur maximale, nous pouvons dessiner une boîte à moustaches.
Valeurs aberrantes
Nous pouvons d'ailleurs introduire une façon de définir les valeurs aberrantes : si une valeur est extrêmement petite, inférieure au quartile inférieur moins 1,5 fois l'intervalle interquartile, elle peut être considérée comme une valeur aberrante en conséquence, si une valeur est extrêmement grande, elle l'est ; plus petit que le quartile inférieur moins 1,5 fois l’intervalle interquartile. Le quartile supérieur plus 1,5 fois l’intervalle interquartile est encore plus grand et peut également être considéré comme une valeur aberrante.
CCDF(a) = P(X > a)= 1- CDF(a)
concept
PDF : fonction de densité de probabilité. En mathématiques, la fonction de densité de probabilité d'une variable aléatoire continue (on peut l'appeler fonction de densité lorsqu'elle ne prête pas à confusion) est une valeur de sortie qui décrit la variable aléatoire à une certaine fonction A. la probabilité proche d’un point de valeur.
PMF : Fonction de masse de probabilité. Dans la théorie des probabilités, la fonction de masse de probabilité est la probabilité qu'une variable aléatoire discrète prenne une valeur spécifique.
CDF : La fonction de distribution cumulative (fonction de distribution cumulative), également appelée fonction de distribution, est l'intégrale de la fonction de densité de probabilité, qui peut décrire complètement la distribution de probabilité d'une variable aléatoire réelle X.
Modélisation de distribution
répartition de l'indice
distribution normale
Fonction de densité de probabilité
fonction de distribution cumulative
distribution lognormale
Si un ensemble de valeurs suit une distribution normale après transformation logarithmique, on dit qu'il suit une distribution lognormale. Autrement dit, utilisez log(x) pour remplacer x dans la distribution normale.
Répartition de Pareto Pareto
relation entre les variables
Covariance
La covariance peut être utilisée pour mesurer si les tendances changeantes des variables liées sont les mêmes, et elle peut également être utilisée pour mesurer l'erreur globale de deux variables.
Les valeurs et les unités étant difficiles à interpréter, elles sont généralement moins utilisées.
La variance peut être considérée comme un cas particulier de covariance, lorsque deux variables sont identiques.
Si les tendances changeantes de deux variables sont cohérentes, c'est-à-dire si l'une d'elles est supérieure à sa propre valeur attendue et l'autre est supérieure à sa propre valeur attendue, alors la covariance entre les deux variables est positive ;
Si les tendances changeantes de deux variables sont opposées, c'est-à-dire qu'une variable est supérieure à sa propre valeur attendue et l'autre est inférieure à sa propre valeur attendue, alors la covariance entre les deux variables est négative ;
Rang Pearson Pearson
Champ d'application
La distribution des variables dans les deux ensembles de données est normale et il existe une relation linéaire entre les deux.
Remplacez la fraction standard par la valeur d'origine et calculez le produit de deux fractions standard
est appelé coefficient de corrélation de Pearson, où -1<=p<=1, p=1 : indique que les deux variables sont complètement corrélées positivement ; p=-1 : indique que les deux variables sont complètement corrélées négativement ;
Rang de lancier Lancier
Champ d'application
Il existe des valeurs aberrantes et la distribution des variables est très asymétrique :
Calculez d'abord le rang de la valeur dans la séquence : c'est-à-dire la position triée d'une certaine valeur dans la séquence, puis calculez le coefficient de corrélation de Pearson du rang.
Échantillon
Séquence {7, 1, 2, 5} Triez la séquence de petit à grand, le résultat est {4, 1, 2, 3} Donc le rang 5 est 3