Esta noticia ha sido evaluado por nuestros expertos para que tengas la garantía de la exactitud de este escrito.
Solución:
Puedes usar esto:
df = df.groupby(['Symbol','Year']).count().unstack(fill_value=0).stack()
print (df)
Producción:
Action
Symbol Year
AAPL 2001 2
2002 0
BAC 2001 0
2002 2
Puedes usar pivot_table
con unstack
:
print df.pivot_table(index='Symbol',
columns='Year',
values='Action',
fill_value=0,
aggfunc='count').unstack()
Year Symbol
2001 AAPL 2
BAC 0
2002 AAPL 0
BAC 2
dtype: int64
Si necesita una salida como DataFrame
usar to_frame
:
print df.pivot_table(index='Symbol',
columns='Year',
values='Action',
fill_value=0,
aggfunc='count').unstack()
.to_frame()
.rename(columns=0:'Action')
Action
Year Symbol
2001 AAPL 2
BAC 0
2002 AAPL 0
BAC 2
Tienes la opción de secundar nuestra labor fijando un comentario o valorándolo te damos la bienvenida.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)