J'utilise Pycharm (version 2018.2.4) avec Python 3.6.7 en cours d'exécution.
J'essaie actuellement d'utiliser la fonction pivot pandas, mais même l'exemple de code:
import pandas as pd df = pd.DataFrame({'foo':['one', 'one', 'one', 'two', 'two','two'],'bar': ['A', 'B', 'C', 'A', 'B', 'C'],'baz': [1, 2, 3, 4, 5, 6],'zoo': ['x', 'y', 'z', 'q', 'w', 't']}) df.pivot(index='foo', columns='bar', values=['baz', 'zoo'])
3 Réponses :
Si vous en faites un dictionnaire, cela pourrait fonctionner correctement. Essayez ceci!
df = pd.DataFrame({'foo':['one', 'one', 'one', 'two', 'two','two'],'bar': ['A', 'B', 'C', 'A', 'B', 'C'],'baz': [1, 2, 3, 4, 5, 6],'zoo': ['x', 'y', 'z', 'q', 'w', 't']}) df.pivot(index='foo', columns='bar', values=['baz', 'zoo']) #output: baz zoo bar A B C A B C foo one 1 2 3 x y z two 4 5 6 q w t
Malheureusement, cela ne résout pas le problème pour moi, cela me donne la même erreur qu'avant.
C'est très étrange, cela fonctionnait très bien pour moi aussi, je ne peux pas vraiment penser à tout ce qui a changé et pourrait en être la cause.
J'ai pu recréer la même erreur lors du test dans le notebook jupyter avec pandas: 0.22.0 et numpy: 1.14.0.
Je n'ai pas été en mesure de comprendre pourquoi ce problème se produit mais j'ai réécrit le code dans l'exemple comme
import pandas as pd df = pd.DataFrame({'foo': ['one', 'one', 'one', 'two', 'two', 'two'], 'bar': ['A', 'B', 'C', 'A', 'B', 'C'], 'baz': [1, 2, 3, 4, 5, 6], 'zoo': ['x', 'y', 'z', 'q', 'w', 't']}) df.set_index(['foo','bar'],inplace=True) df.unstack(level=1)
et obtenu la sortie attendue (comme indiqué dans le pandas doc )
J'espère que cela vous aidera!
Ce qui suit fonctionne pour moi. Essaie!
import pandas as pd df = pd.DataFrame({'foo':['one', 'one', 'one', 'two', 'two','two'],'bar': ['A', 'B', 'C', 'A', 'B', 'C'],'baz': [1, 2, 3, 4, 5, 6],'zoo': ['x', 'y', 'z', 'q', 'w', 't']}) df.pivot(index='foo', columns='bar')[['baz', 'zoo']]
Je ne parviens pas à reproduire cela avec la v0.23.4.
Cela pourrait-il avoir à voir avec numpy? Je suppose que cela utilise un tableau numpy d'une sorte en arrière-plan et j'ai également eu une autre erreur aujourd'hui en essayant d'appliquer la fonction de carte à un autre index de temps de pandas (df que j'utilise est nommé prix): Le code price.index.strftime (' % j '). map (lambda x: math.ceil (int (x) / 7.0)) cause AttributeError: l'objet' numpy.ndarray 'n'a pas d'attribut' map 'Utilisé pour fonctionner correctement aussi jusqu'à la semaine dernière