Mostrando entradas con la etiqueta Python. Mostrar todas las entradas
Mostrando entradas con la etiqueta Python. Mostrar todas las entradas

miércoles, 29 de agosto de 2018

Descriptivas PySpark


En R es superfacil, Python, para variar, es un infierno. Pero siempre habrá quien defienda ese lenguaje  no solo por su rapidez que la tiene, pero...

def descripcionDF (DFSpark, StringBool = True, timeStampBool = True, floatBool = True):
    tipoVar  = pd.DataFrame( DFSpark.dtypes, columns= ('variable', 'tipo') )
    print( pd.crosstab(index=tipoVar.tipo,  # Make a crosstab
                              columns="count") )
 
    print( "========================================================================")
    print( "Datos String")
    print( "========================================================================")
 
    x = tipoVar.variable [ tipoVar.tipo =='string' ].values.tolist()
    if len(x) > 0 & StringBool:
        for i in x: print( DFSpark.cube(i).count().orderBy(desc('count')).show() )
 
 
    print( "========================================================================")
    print( "Datos timeStamp")
    print( "========================================================================")
    x = tipoVar.variable [ tipoVar.tipo =='timestamp' ].values.tolist()

    if len(x) > 0 & timeStampBool:
        DFSparkFechas = DFSpark.select(x)
        for i in x:
            DFSparkFechas = DFSparkFechas.withColumn(i + '_Fecha',  (year(i)* 1e10 +  month(i)* 1e8 + dayofmonth(i)* 1e6 +\
                                                                     hour(i)* 1e4 + minute(i) * 1e2 + second(i) ).cast(LongType()) )
        print( DFSparkFechas.describe().show() )
 
    print( "========================================================================")
    print( "Datos float")
    print( "========================================================================")
    if len(tipoVar.variable [ tipoVar.tipo =='float' ]) > 0 & floatBool:
        DFSpark.select(tipoVar.variable [ tipoVar.tipo =='float' ]).describe( ).show() 

lunes, 12 de octubre de 2015

Code Combat una manera divertida de aprender.

Hace unas semanas llegó a mí un divertido juego para aprender a programar en distintos lenguajes de programación. Lo cierto es que aprender a programar jugando es una gran idea y ojalá pronto añadan nuevos lenguajes (como por ejemplo R). La verdad es que esta iniciativa tiene mucha salida en el mundo docente ¿qué mejor manera de motivar a los alumnos que un videojuego? Por lo menos a los más nerds de la clase. También es útil para los que no sepáis programar y queráis una aproximación a este mundo. La única faena es que no se pueda jugar offline. A continuación os dejo un video para que disfrutéis de un friki game play.