Para obtener las claves de las hojas de cálculo de Google, visita la página de búsqueda de Indicadores: (Seleccione indicador, ponga *
en la caja de "select"
, pulse el botón de búsqueda y abra el link HTML).
import pandas as pd
def read_google_cvs(gss_url="http://spreadsheets.google.com",\
gss_format="csv",\
gss_key="0AuLa_xuSIEvxdERYSGVQWDBTX1NCN19QMXVpb0lhWXc",\
gss_sheet=0,\
gss_query="select B,D,E,F,I where (H contains 'GFIF') order by D desc",\
gss_keep_default_na=False
):
import urllib
import pandas as pd
"""
read a google spreadsheet in cvs format and return a pandas DataFrame object.
....
gss_keep_default_na: (False) Blank values are filled with NaN
"""
issn_url="%s/tq?tqx=out:%s&tq=%s&key=%s&gid=%s" %(gss_url,\
gss_format,\
gss_query,\
gss_key,\
str(gss_sheet))
gfile=urllib.urlopen(issn_url)
return pd.read_csv(gfile,keep_default_na=gss_keep_default_na)
df=read_google_cvs(gss_key='0AjqGPI5Q_Ez6dDA3ajhtYVVDOWdBckVhWm1MSFRET1E',gss_query="select *")
df.columns
Index([Marca temporal, Nombre de usuario, Año, Tipo, Autor(es), Revista, Vol., pág., ISSN, Artículo, Impreso, PDF, Grupo, DOI, Tipo.1, Rótulo, Autores de la UdeA, Clasificación Colciencias, Está (S,N,NP)], dtype=object)
Seleccione artículos A1 o A2 y prepare para filtrar por Año
publicadas=df[pd.np.logical_and(df['ISSN']!='0000-0000',df['Clasificación Colciencias'].str.contains('A'))]
publicadas=publicadas.replace('','Desconocido')
publicadas=publicadas[publicadas['Grupo']!='Desconocido']
publicadas=publicadas.reset_index(drop=True)
#Convierta Anyo a entero
for i in range(publicadas.shape[0]):
if publicadas['Año'][i]!='null':
publicadas['Año'][i]=int(publicadas['Año'][i])
else:
publicadas['Año'][i]=0
Seleccione últimos dos años y calcule el indicador: artículos por grupo sobre autores del grupo.
import datetime
resultados=pd.DataFrame(np.array([[np.nan,np.nan,np.nan,np.nan]]),columns=['Grupo','Articulos','Autores','Articulos/(autores grupo)'])
resultados=resultados.dropna()
publicadas5=publicadas[publicadas['Año']>datetime.datetime.now().year-2]
publicadas=publicadas5.reset_index(drop=True)
for i in publicadas5['Grupo'].value_counts().keys():
test=publicadas5[publicadas5['Grupo']==i]
autoresgrupo={}
for j in test['Autores de la UdeA'].value_counts().keys():
for k in j.split('; '):
autoresgrupo[k]=1
resultados=resultados.append({'Grupo':i,'Articulos':test['Grupo'].value_counts().values[0],'Autores':len(autoresgrupo),'Articulos/(autores grupo)':round(float(test['Grupo'].value_counts().values[0])/len(autoresgrupo),2)},ignore_index=True)
resultados.sort(columns='Articulos/(autores grupo)',ascending=False).reset_index(drop=True)
Grupo | Articulos | Autores | Articulos/(autores grupo) | |
---|---|---|---|---|
0 | GMC: Grupo de Materia Condensada | 43 | 1 | 43 |
1 | GES: Estado Sólido | 21 | 6 | 3.5 |
2 | GOF: Grupo Óptica y Fotónica | 9 | 3 | 3 |
3 | GFIF: Grupo de Fenomenología de Interacciones ... | 13 | 5 | 2.6 |
4 | MS: Magnetismo y Simulación | 6 | 3 | 2 |
5 | GFAM: Grupo de Física Atómica y Molecular | 8 | 4 | 2 |
6 | FACOM: Física y Astrofísica Computacional | 3 | 2 | 1.5 |
7 | GES: Estado Sólido; GMC: Grupo de Materia Cond... | 2 | 2 | 1 |