una name insertar data create columns columnas columna column change añadir agregar python pandas pivot-table

python - insertar - pandas dataframe rename columns name



¿Cómo puedo "separar" columnas específicas de un DataFrame de pandas? (1)

Esto se puede hacer con pd.melt() :

# value_name is ''value'' by default, but setting it here to make it clear pd.melt(x, id_vars=[''farm'', ''fruit''], var_name=''year'', value_name=''value'')

Resultado:

farm fruit year value 0 A apple 2014 10 1 B apple 2014 12 2 A pear 2014 6 3 B pear 2014 8 4 A apple 2015 11 5 B apple 2015 13 6 A pear 2015 7 7 B pear 2015 9 [8 rows x 4 columns]

No estoy seguro de qué tan común es la "fusión" como el nombre para este tipo de operación, pero así es como se llama en el paquete reshape2 de R, que probablemente inspiró el nombre aquí.

Tengo un marco de datos de pandas, por ejemplo:

x = DataFrame.from_dict({''farm'' : [''A'',''B'',''A'',''B''], ''fruit'':[''apple'',''apple'',''pear'',''pear''], ''2014'':[10,12,6,8], ''2015'':[11,13,7,9]})

es decir:

2014 2015 farm fruit 0 10 11 A apple 1 12 13 B apple 2 6 7 A pear 3 8 9 B pear

¿Cómo puedo convertirlo a esto:?

farm fruit value year 0 A apple 10 2014 1 B apple 12 2014 2 A pear 6 2014 3 B pear 8 2014 4 A apple 11 2015 5 B apple 13 2015 6 A pear 7 2015 7 B pear 9 2015

He intentado stack y unstack pero no he podido hacer que funcione.

¡Gracias!