En essayant de faire fonctionner un code de diagramme de dispersion de base, j'ai rencontré le problème dont on parle tant :
Erreur :
ValueError : x et y doivent avoir la même taille.
Et pourtant, les réponses que je trouve ici ne semblent pas résoudre ce problème. Voici le code. Quelqu'un peut-il trouver ce que je fais mal ?
Les données :
import pandas as pd
iris = pd.read_csv('../week2/data/iris.csv')
iris.head()
produit un résultat comme celui-ci :
sortie
Code du nuage de points :
%matplotlib inline
import matplotlib.pyplot as plt
PetalLength = iris['Petal.Length']
PetalWidth = iris['Petal.Width']
plt.rcParams['figure.figsize'] = 8, 6
plt.scatter(iris, PetalWidth, PetalLength)
plt.show
J'ai exécuté ce code pour vérifier ce que l'erreur semblait dire, mais tout semble identique :
print(PetalWidth.shape, PetalLength.shape)
print(type(PetalWidth), type(PetalLength))
print(len(PetalWidth), len(PetalLength))
Au-dessus des sorties, ceci :
((150L,), (150L,))
(<type 'numpy.ndarray'>, <type 'numpy.ndarray'>)
(150, 150)
Derniers détails au cas où cela aiderait. J'ai essayé de convertir PetalWidth et PetalLength en listes en me basant sur un post de Stack Overflow que j'ai trouvé mais cela n'a pas aidé non plus. Tout conseil pour m'aider à faire fonctionner ce code serait apprécié.