0
votes

Comment puis-je résoudre ce problème en pandas?

J'ai les données circulant dans un fichier CSV quotidiennement qui montre le non. des morceaux étant fabriqués. Je veux montrer clairement l'augmentation quotidienne en% des pièces produites

J'ai essayé transpose () , instable () mais n'a pas été capable de résoudre ceci.

Voici ce que les données ressemblent:

 Entrez la description de l'image ici

Je veux montrer clairement l'augmentation du% quotidienne des pièces produites. La sortie devrait être quelque chose comme ceci:

 Entrez la description de l'image ici

Comment devrais-je le faire?


3 commentaires

Veuillez indiquer votre résultat attendu ainsi que vos efforts visant à résoudre ce problème avant de demander de l'aide.


De plus, veuillez copier et coller le Dataframe (ou la sortie de Imprimer (df.to_string ()) ) plutôt que d'utiliser une capture d'écran.


Vous auriez besoin de série.pct_change () pour ces opérations, vérifiez ci-dessous la réponse.


3 Réponses :


0
votes

Vous pouvez simplement ajouter une colonne calculée. Je suppose que vous stockez ces données dans un fichier Dataframe Pandas appelé df code>. Vous pouvez le faire simplement avec:

 df['change'] = (df['Pieces Produced'] / df['Pieces Produced'].shift(1))-1


1 commentaires

Oops. La question a changé pendant que je postais. Dans la question initiale, nous avons vu que df ["pièces produites"] a montré le nombre de pièces produites.



1
votes

J'admets que je ne comprends pas complètement ce que votre intention est. Néanmoins, je peux avoir une solution comme je le comprends ..

Utilisez Diff () code> Fonction pour trouver la différence discrète p>

Votre Datafarme simulé: H2>
>>> df['Day_over_day%'] = df.Peice_Produced.diff(periods=1).fillna(0).astype(str) + '%'
>>> df
        Day  Peice_Produced Day_over_day%
0    1/1/17              10          0.0%
1    1/2/17               5         -5.0%
2    1/3/17              15         10.0%
3    1/4/17               6         -9.0%
4    1/5/17              21         15.0%
5    1/6/17               7        -14.0%
6    1/7/17              28         21.0%
7    1/8/17               8        -20.0%
8    1/9/17              36         28.0%
9   1/10/17               9        -27.0%
10  1/11/17              45         36.0%


0 commentaires

2
votes

Vous auriez besoin de S .pct_change () et série.Shift () : xxx


0 commentaires