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 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 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)