Quelle est la différence entre une trame de données et un tableau NumPy en Python?


Réponse 1:

Trame de données

  • Tableau hétérogone à 2 dimensions, similaire à une table SQL ou une feuille de calcul.

NumPy's

  • Les objets sont d'un tableau multidimensionnel homogène (de même nature), c'est une table d'éléments (généralement des nombres), tous du même type, indexés par un tuple d'entiers positifs. Dans NumPy, les dimensions sont appelées axes.

Suivez-moi sur Jose Praveen pour en savoir plus sur les sujets Raspberry Pi, Hadoop, Android, Java, Windows, Linux.


Réponse 2:

trame de données::

Le concept d'une base de données vient du monde des logiciels statistiques utilisés dans la recherche empirique; il s'agit généralement de données «tabulaires»: une structure de données représentant des observations (lignes), chacune consistant en un certain nombre d'observations ou de mesures (colonnes). Alternativement, chaque ligne peut être traitée comme une observation unique de plusieurs "variables". Dans tous les cas, chaque ligne et chaque colonne ont le même type de données, mais le type de données de la ligne ("enregistrement") peut être hétérogène (un tuple de types différents), tandis que le type de données de la colonne doit être homogène. Les trames de données contiennent généralement des métadonnées en plus des données; par exemple, les noms de colonnes et de lignes.

Les API de trame de données prennent généralement en charge des méthodes plus ou moins élaborées de découpage et de découpage des données, telles que la "sélection" de lignes, de colonnes et de cellules par nom ou par numéro; filtrer les rangées; "recodage" des noms de colonnes et de lignes; normaliser les données (par exemple, convertir les unités de mesure); ajouter de nouvelles colonnes (par exemple, additionner certains champs); et bien plus encore!

Les données statistiques sont souvent - généralement, en fait - en désordre. Pour être utile, une API de trame de données doit fournir des moyens de traiter les données entrantes qui violent les contraintes d'intégrité (généralement implicites) des types de lignes et de colonnes. Les exemples évidents incluent les fautes de frappe ("Maale" au lieu de "Homme") et les violations de portée (par exemple 17 <Âge <65). Les données manquantes sont également courantes et peuvent être représentées de diverses manières, par exemple en utilisant «NA» ou une valeur qui ne se produirait pas normalement, comme 9999 pour une donnée d'âge manquante. Ainsi, une caractéristique extrêmement importante des trames de données est la gestion explicite des données manquantes. Par exemple, R prend en charge "NA" comme une sorte de type de données, et bon nombre de ses fonctions statistiques prennent en charge un paramètre "na.rm", qui indique à la fonction d'ignorer les enregistrements avec des valeurs manquantes.

tableau numpy ::

vous devez savoir que, au niveau structurel, un tableau n'est rien d'autre que des pointeurs. Il s'agit d'une combinaison d'une adresse mémoire, d'un type de données, d'une forme et de pas:

  • Le pointeur de données indique l'adresse mémoire du premier octet du tableau, Le type de données ou le pointeur dtype décrit le type d'éléments contenus dans le tableau, La forme indique la forme du tableau et Les foulées sont le nombre d'octets qui doit être ignoré en mémoire pour passer à l'élément suivant. Si vos foulées sont (10,1), vous devez passer d'un octet pour accéder à la colonne suivante et de 10 octets pour localiser la ligne suivante.Vous obtenez beaucoup plus d'informations: par exemple, le type de données qui est imprimé est ' int64 'ou type entier 32 bits signé; C'est beaucoup plus détaillé! Cela signifie également que le tableau est stocké en mémoire sous forme de 64 octets (car chaque entier occupe 8 octets et vous disposez d'un tableau de 8 entiers). Les foulées du tableau nous indiquent que vous devez ignorer 8 octets (une valeur) pour passer à la colonne suivante, mais 32 octets (4 valeurs) pour arriver à la même position dans la ligne suivante. En tant que tel, les progrès pour le tableau seront (32,8).

Notez que si vous définissez le type de données sur int32, le tuple strides que vous récupérez sera (16, 4), car vous devrez toujours déplacer une valeur vers la colonne suivante et 4 valeurs pour obtenir la même position. La seule chose qui aura changé est le fait que chaque entier prendra 4 octets au lieu de 8.

Le tableau que vous voyez ci-dessus est, comme son nom l'a déjà suggéré, un tableau à 2 dimensions: vous avez des lignes et des colonnes. Les lignes sont indiquées comme «l'axe 0», tandis que les colonnes sont «l'axe 1». Le numéro de l'axe augmente en fonction du nombre de dimensions: dans les tableaux 3D, dont vous avez également vu un exemple dans le bloc de code précédent, vous aurez un "axe 2" supplémentaire. Notez que ces axes ne sont valables que pour les tableaux qui ont au moins 2 dimensions, car il est inutile de l'avoir pour les tableaux 1-D


Réponse 3:

Un tableau numpy (ndarray) est un type de tableau multidimensionnel contenant des éléments de même type et de même taille.

Pandas DataFrames étendent les tableaux bidimensionnels NumPy en donnant des étiquettes aux colonnes et également aux lignes, si vous fournissez un index explicite. Comme Series, DataFrame accepte de nombreux types d'entrée:

Dict de ndarrays 1D, listes, dict ou séries

Ndarray numpy 2-D

Ndarray structuré ou record

Un autre DataFrame

Cette petite présentation devrait aider: