105 votes

Python : Différenciation entre les vecteurs de lignes et de colonnes

Existe-t-il un bon moyen de différencier les vecteurs en ligne et en colonne en python ? Pour l'instant, j'utilise numpy et scipy et ce que je vois jusqu'à présent, c'est que si je donne un vecteur, disons

from numpy import *
Vector = array([1,2,3])

ils ne seraient pas capables de dire si je veux dire un vecteur de ligne ou de colonne. D'ailleurs :

array([1,2,3]) == array([1,2,3]).transpose()
True

Ce qui, dans le "monde réel", est tout simplement faux. Je réalise que la plupart des fonctions sur les vecteurs des modules mentionnés n'ont pas besoin de différenciation. Par exemple outer(a,b) o a.dot(b) mais j'aimerais faire la différence pour ma propre commodité.

0voto

Jack One Points 1

Les vecteurs de ligne sont des tenseurs (1,0), les vecteurs sont des tenseurs (0,1). si on utilise v = np.array([[1,2,3]]), v devient un tenseur (0,2). Désolé, je suis confus.

-1voto

cms_mgr Points 1807

L'excellent Pandas ajoute des fonctionnalités à numpy qui rendent ce type d'opérations plus intuitives. Par exemple :

import numpy as np
import pandas as pd

# column
df = pd.DataFrame([1,2,3])

# row
df2 = pd.DataFrame([[1,2,3]])

Vous pouvez même définir un DataFrame et créer un tableau croisé dynamique de type tableur .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X