Les Pandas de python .describe() mise en forme/de sortie
Je suis en train d'essayer d'obtenir le .describe()
fonction de sortie dans un reformaté.
Voici les données au format csv (testProp.csv
)
'name','prop'
A,1
A,2
B, 4
A, 3
B, 5
B, 2
quand je, tapez le texte suivant:
from pandas import *
data = read_csv('testProp.csv')
temp = data.groupby('name')['prop'].describe()
temp.to_csv('out.csv')
la sortie est:
name
A count 3.000000
mean 2.000000
std 1.000000
min 1.000000
25% 1.500000
50% 2.000000
75% 2.500000
max 3.000000
B count 3.000000
mean 3.666667
std 1.527525
min 2.000000
25% 3.000000
50% 4.000000
75% 4.500000
max 5.000000
dtype: float64
Cependant, je veux que les données dans le format ci-dessous. J'ai essayé transpose()
et tiens à les maintenir à l'aide de la describe()
et de le manipuler au lieu de a .agg([np.mean(), np.max(), etc.... )
:
count mean std min 25% 50% 75% max
A 3 2 1 1 1.5 2 2.5 3
B 3 3.666666667 1.527525232 2 3 4 4.5 5
OriginalL'auteur Mike | 2015-09-29
Vous devez vous connecter pour publier un commentaire.
Une façon de le faire serait de faire d'abord
.reset_index()
, pour réinitialiser l'index de votretemp
DataFrame, et ensuite utiliserDataFrame.pivot
que vous le souhaitez . Exemple -Ensuite, vous pouvez enregistrer ce
newdf
au format csv.OriginalL'auteur Anand S Kumar
Dans les pandas v0.22, vous pouvez utiliser la fonction dépiler. La construction de @Kumar réponse ci-dessus, vous pouvez utiliser les pandas empiler/dépiler fonction et de jouer avec des variations.
Consultez la documentation les pandas dépiler pour plus de détails
OriginalL'auteur Vitalis