python - significa - traducir de ingles a español



Enfrente del derretimiento en los pandas de pitón (1)

No puedo descifrar cómo hacer "fusión inversa" usando Pandas en Python. Esta es mi información de partida

import pandas as pd

from StringIO import StringIO

origin = pd.read_table(StringIO('''label    type    value
x   a   1
x   b   2
x   c   3
y   a   4
y   b   5
y   c   6
z   a   7
z   b   8
z   c   9'''))

origin
Out[5]: 
  label type  value
0     x    a      1
1     x    b      2
2     x    c      3
3     y    a      4
4     y    b      5
5     y    c      6
6     z    a      7
7     z    b      8
8     z    c      9

Este es el resultado que me gustaría tener:

    label   a   b   c
        x   1   2   3
        y   4   5   6
        z   7   8   9

Estoy seguro de que hay una forma fácil de hacerlo, pero no sé cómo.

https://src-bin.com


Answer #1

Hay algunas maneras;
usando .pivot :

>>> origin.pivot(index='label', columns='type')['value']
type   a  b  c
label         
x      1  2  3
y      4  5  6
z      7  8  9

[3 rows x 3 columns]

usando pivot_table :

>>> origin.pivot_table(values='value', index='label', columns='type')
       value      
type       a  b  c
label             
x          1  2  3
y          4  5  6
z          7  8  9

[3 rows x 3 columns]

o .groupby seguido de .unstack :

>>> origin.groupby(['label', 'type'])['value'].aggregate('mean').unstack()
type   a  b  c
label         
x      1  2  3
y      4  5  6
z      7  8  9

[3 rows x 3 columns]




melt