import numpy as np
import pandas as pd
import logging
import plotly.express as px
import session_info
logging.basicConfig(
format = '%(message)s',
level=logging.DEBUG,
encoding="utf-8"
)
Conteo de variables
kc_feb_23 = pd.read_json('https://xwid2p.deta.dev/kcfeb23/', orient='records')
logging.info(f'En total hubieron {kc_feb_23.shape[0]} duelistas con {kc_feb_23["deck"].nunique()} mazos distintos')
En total hubieron 389 duelistas con 82 mazos distintos
Registro de la comunidad
logging.info('Tabla de cuántos usuarios reportaron sus ndmax a los servers')
servers = kc_feb_23.iloc[:, 4:7].astype('int').sum()
comunidad_servers = pd.DataFrame(
{
'Servers': servers.to_dict().keys(),
'Total': servers.to_dict().values(),
}
)
fig = px.bar(comunidad_servers, y='Total', x="Servers", title="Registro de decks con su comunidad", text="Total")
fig.update_layout(showlegend=False)
fig.show()
Tabla de cuántos usuarios reportaron sus ndmax a los servers
kc_feb_23["ndmax"] = pd.to_datetime(kc_feb_23["ndmax"], format='%d-%m-%Y')
kc_feb_23['day'] = pd.DatetimeIndex(kc_feb_23['ndmax']).day
dias = (
kc_feb_23.groupby(['day'])['day'].count()
.reset_index(name='Decks'))
fig = px.line(dias, x="day", y="Decks", title="Decks subidos a NDmax por día", text="Decks", template='simple_white')
fig.update_traces(textposition="top center")
fig.show()
Top Decks Ndmax
logging.info('Viendo primero los top 5 mazos más usados')
decks = (
kc_feb_23.groupby(['deck'])['deck'].count()
.reset_index(name='total')
.sort_values('total', ascending=0)
)
decks[0:5]
Viendo primero los top 5 mazos más usados
deckobject
totalint64
32
Gouki
50
48
Mekk-Knights
34
29
Galaxy-Eyes
29
64
Salamangreat
21
43
Madolche
19
logging.info('Descomponiendo en base a que skills usaron y armarlo en la gráfica')
resume = (
kc_feb_23.groupby(['deck','skill'])['skill'].size()
.reset_index(name='total')
.sort_values('total', ascending=0))
gouki = resume.query("deck=='Gouki'")
mecaballero = resume.query("deck=='Mekk-Knights'")
galaxyes = resume.query("deck=='Galaxy-Eyes'")
salamangreat = resume.query("deck=='Salamangreat'")
madolche = resume.query("deck=='Madolche'")
Descomponiendo en base a que skills usaron y armarlo en la gráfica
topfive=pd.concat([gouki, mecaballero, galaxyes, salamangreat, madolche], ignore_index=True)
fig = px.bar(topfive, y='deck', x="total", color="skill", title="Top Decks NdMAX KC CUP Febrero 2023", text="total", orientation='h')
fig.update_layout(showlegend=False)
fig.show()
session_info.show()