2017-07-08 2 views
-1

Je commence avec des pandas sur ordinateur portable jupyter. Dans le message d'erreur, il y a^ci-dessous l'opérateur =, mais je ne vois pas le problème. Qu'est-ce qui manque? Merci!Invalid Erreur de syntaxe série pandas

import pandas as pd 
data2 = ([1, 2, 3, 4], index = ['a', 'b', 'c', 'd']) 

s = pd.Series(data2) 
print(s.shape) 

C'est l'erreur:

File "<ipython-input-30-57c99bd7e494>", line 4 
    data2 = ([1, 2, 3, 4], index = ['a', 'b', 'c', 'd']) 
           ^
SyntaxError: invalid syntax 
+0

'pd .Series ([...]) 'n'est pas équivalent à' x = ([...]); pd.Series (x) '. La syntaxe d'argument ne peut pas être extraite et enregistrée dans une variable. – user2357112

+1

Je pense que le mieux que vous pouvez faire est de le sauvegarder en tant que dict: 'data2 = dict (données = [1, 2, 3, 4], index = ['a', 'b', 'c', 'd']) 'et passez au constructeur de la série:' pd.Series (** data2) ' – ayhan

+0

Merci pour l'explication. – theMouse

Répondre

1

Il bonne façon de le faire est, des variables distinctes pour les données et l'index:

import pandas as pd 
data2 = [1,2,3,4] 
index = ['a','b','c','d'] 

s = pd.Series(data2,index) 
print(s.shape) 

Ou comme points Ayhan notre, vous pouvez déballer un dictionnaire avec **:

data2 = dict(data=[1,2,3,4], index=['a','b','c','d']) 
s = pd.Series(**data2) 
print(s.shape) 
+1

il ne doit pas être 'dict', il peut aussi être' tuple': 's = pd.Series (* data2)' – mkos