<jupyter_start><jupyter_text>Importación de librerías necesarias<jupyter_code>!pip install pandas
!pip install -U plotly

import pandas as pd
dfAtletas=pd.read_excel("https://raw.githubusercontent.com/gusecuador/pruebaFinal/main/Athletes.xlsx")
dfAtletas.head()
dfAtletas.tail()
dfAtletas.shape
dfAtletas.describe()
dfAtletasNoUnicos=dfAtletas.groupby(['Name','NOC']).size().reset_index(name='cantidad')
dfAtletasNoUnicos=dfAtletasNoUnicos[dfAtletasNoUnicos['cantidad'] > 1]
dfAtletasNoUnicos=pd.merge(dfAtletas,dfAtletasNoUnicos,on="Name")<jupyter_output><empty_output><jupyter_text>**Atletas que participaron en más de una disciplina en Tokyo 2020**<jupyter_code>dfAtletasNoUnicos.head(30)
dfAtletasNoUnicos.shape<jupyter_output><empty_output><jupyter_text>**Cantidad de Atletas por disciplina**<jupyter_code>import matplotlib.pyplot as plt
plt.figure(figsize=(12,8))
dfAtletas = dfAtletas.rename(columns={'NOC':'Pais','Name':'Nombres'})
dfAtletas.groupby('Discipline')['Nombres'].count().plot(kind='bar',legend='reverse',color='g')
plt.xlabel('Disciplina o deporte',color='b')
plt.ylabel('Cantidad Atletas',color='b')
plt.title('Cantidad de atletas por disciplina Olympiadas Tokio 2020',color='g')
plt.savefig('cantidadAtletasPorDisciplina.png') 
plt.show()<jupyter_output><empty_output><jupyter_text>**Cantidad de atletas por disciplina utilizando plotly**<jupyter_code>import plotly.express as px
import matplotlib.pyplot as plt
dfAtletasPorDisciplina=dfAtletas.groupby(['Discipline']).size().reset_index(name='cantidad')

fig = px.pie(dfAtletasPorDisciplina, values='cantidad', names='Discipline', title='Cantidad de atletas por disciplina en Olimpiadas Tokio 2020')
fig.show()



dfAtletasPorDisciplina.head()
dfAtletas.head()<jupyter_output><empty_output><jupyter_text>**Cantidad de atletas por país en Olimpiadas Tokyo 2020**<jupyter_code>import matplotlib.pyplot as plt
plt.figure(figsize=(35,8))

dfAtletas.groupby('Pais').size().plot(kind='bar',legend='reverse',color='g')
plt.xlabel('Disciplina o deporte',color='b')
plt.ylabel('Cantidad Atletas',color='b')
plt.title('Cantidad de atletas por país Olympiadas Tokyo 2020',color='b')

plt.savefig('cantidadAtletasPorDisciplina.png') 
plt.show()
import plotly.express as px
import matplotlib.pyplot as plt
cantidad=38
dfAtletasPorPais=dfAtletas.groupby(['Pais']).size().reset_index(name='cantidad').sort_values('cantidad',ascending=False)
dfAtletasPorPaisTop=dfAtletasPorPais.head(cantidad)
sumaOtros=dfAtletasPorPais['cantidad'].sum()-dfAtletasPorPaisTop['cantidad'].sum()
nueva={'Pais':'Otros','cantidad':sumaOtros}
dfAtletasPorPaisTop=dfAtletasPorPaisTop.append(nueva,ignore_index=True)
fig = px.pie(dfAtletasPorPaisTop, values='cantidad', names='Pais', title='Top '+str(cantidad)+ ' de los países con más atletas en Olimpiadas Tokio 2020')
fig.show()
dfAtletasPorPais.head(20)
dfAtletasPorPais.iloc[:,1].sum()
sumaOtros
dfAtletasPorPais.shape
dfAtletasPorPais.head(10).sort_values('cantidad',ascending=False)
dfAtletasPorPais.shape<jupyter_output><empty_output><jupyter_text>**Medallas obtenidas en Tokyo 2020**<jupyter_code>import pandas as pd
dfMedallas=pd.read_excel("https://raw.githubusercontent.com/gusecuador/pruebaFinal/main/Medals.xlsx")
dfMedallas.head(10)
dfMedallas.tail()
dfMedallas.shape<jupyter_output><empty_output><jupyter_text>**Cantidad de medallas obtenidas por país, no necesariamente equivale al ranking finalmente obtenido en Tokyo 2020**<jupyter_code>import plotly.express as px
import matplotlib.pyplot as plt
cantidad=38
dfMedallasPorPais=dfMedallas.sort_values('Rank',ascending=True).head(cantidad)
sumaOro=dfMedallas.iloc[:,2].sum()-dfMedallas.iloc[0:cantidad,2].sum()
sumaPlata=dfMedallas.iloc[:,3].sum()-dfMedallas.iloc[0:cantidad,3].sum()
sumaBronce=dfMedallas.iloc[:,4].sum()-dfMedallas.iloc[0:cantidad,4].sum()
sumaTotales=dfMedallas.iloc[:,5].sum()-dfMedallas.iloc[0:cantidad,5].sum()
tamano=dfMedallasPorPais['Total'].count();
nuevaFila={'Rank':cantidad,'Team/NOC':'Otros', 'Gold':sumaOro,'Silver':sumaPlata,'Bronze':sumaBronce,'Total':sumaTotales,'Rank by Total':cantidad}
dfMedallasPorPais=dfMedallasPorPais.append(nuevaFila,ignore_index=True)
fig = px.pie(dfMedallasPorPais, values='Total', names='Team/NOC', title='Top ' + str(cantidad) + ' de países por cantidad de medallas en Olimpiadas Tokyo 2020')
fig.show()


dfMedallasPorPais.head(39)<jupyter_output><empty_output><jupyter_text>**Ranking de cada país en juegos Olympicos Tokio 2020(Cantidad de medallas no equivale necesariamente a ranking obtenido)**<jupyter_code>import matplotlib.pyplot as plt
plt.figure(figsize=(20,8))

dfMedallas.groupby(['Rank','Team/NOC'])['Total'].sum().plot(kind='bar',legend='reverse',color='g')
plt.xlabel('País',color='b')
plt.ylabel('Cantidad de Medallas',color='b')
plt.legend('Cantidad medallas')
plt.title('Ranking en juegos Olímpicos Tokyo 2020',color='b')
plt.show()<jupyter_output><empty_output><jupyter_text>**Participación de hombres y mujes en Olimpiadas Tokyo 2020**<jupyter_code>import pandas as pd
dfAtletasPorGenero=pd.read_excel("https://raw.githubusercontent.com/gusecuador/pruebaFinal/main/EntriesGender.xlsx")
dfAtletasPorGenero.head()
dfAtletasPorGenero['Female']=pd.to_numeric(dfAtletasPorGenero['Female'])
dfAtletasPorGenero['Male']=pd.to_numeric(dfAtletasPorGenero['Male'])
dfGenero=dfAtletasPorGenero.T
dfGenero=dfGenero.drop(['Discipline'])
dfGenero=dfGenero.drop(['Total'])
dfGenero=dfGenero.reset_index()
dfGenero['Totalizado']=dfGenero.iloc[:,1:].sum(axis=1)
dfGenero.head()

fig = px.pie(dfGenero, values='Totalizado', names='index', title='Porcentaje de participación de hombres y mujeres en Olimpiadas Tokyo 2020')
fig.show()
pip install nltk
pip install classifier
pip install spanish_sentiment_analysis<jupyter_output>Collecting spanish_sentiment_analysis
  Downloading spanish_sentiment_analysis-1.0.0-py3-none-any.whl (15.8 MB)
[K     |████████████████████████████████| 15.8 MB 144 kB/s 
[?25hCollecting marisa-trie
  Downloading marisa_trie-0.7.7-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.2 MB)
[K     |████████████████████████████████| 1.2 MB 52.1 MB/s 
[?25hRequirement already satisfied: nltk in /usr/local/lib/python3.7/dist-packages (from spanish_sentiment_analysis) (3.2.5)
Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from spanish_sentiment_analysis) (1.19.5)
Requirement already satisfied: sklearn in /usr/local/lib/python3.7/dist-packages (from spanish_sentiment_analysis) (0.0)
Requirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (from spanish_sentiment_analysis) (1.4.1)
Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from marisa-trie->spanis[...]<jupyter_text>**Análisis de sentimientos en español, los valores significan seran de 0 a 1.** cuando es 0: negativo; 0.5: neutral ;1: positivo<jupyter_code>#from nltk.sentiment.vader import SentimentIntensityAnalyzer
#import pandas as pd
from classifier import SentimentClassifier
 
clf = SentimentClassifier()
x="Venid y adoremos a Cristo el Salvador"
y="Es necesario que aprendas a desarrollar para que apliques tus ideas."
z="Ecuador pais amazonico desde siempre y hasta siempre viva la patria"

sentimiento=clf.predict(x)
print(sentimiento)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1465846994535519, 'fraction_numerical': 0.024043715846994537, 'mean_word_length': 9.473533619456367, 'pattern_counts': {'":': 0, '<': 40, '<?xml version=': 0, '>': 42, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '10', 'dir': 'jupyter-structured-clean-dedup', 'id': '637920', 'license': 'MIT', 'n_tokens_mistral': 3018, 'n_tokens_neox': 2816, 'n_words': 427, 'path': 'desafio2/TareaFinalGustavo.ipynb', 'repo_name': 'gusecuador/tratamientoDatos', 'size': '7320'}