es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo imprimir un valor con su clase que se encuentra dentro de una lista?

Tengo que imprimir los p-values que sean menores que alpha. Para eso, estoy obteniendo los valores de esta manera:

X = dataset[['rank', 'ethnicity', 'gender', 'language', 'age', 'cls_perc_eval', 'cls_did_eval', 'cls_students', 'cls_level', 'cls_profs']]
Y = dataset['score']
X = add_constant(X)
fit = sm.OLS(Y, X).fit()
pVals = fit.pvalues
print(pVals)

Si imprimo pVals, se ve así:

const           1.900673e-26
rank            1.265173e-01
ethnicity       2.816922e-03
gender          2.898288e-05
language        6.945070e-02
age             1.329203e-02
cls_perc_eval   6.599640e-02
cls_did_eval    5.058437e-01
cls_students    5.686794e-01
cls_level       8.568453e-01
cls_profs       8.568453e-01
dtype: float64

Luego tengo el siguiente código donde estoy verificando cuáles p-values son menores que alpha (alpha = 0.05):

alpha = 0.05
for i in pVals:
    if i < alpha:
       print(i)

Pero si imprimo i, solo está imprimiendo el número y no la clase. La salida se ve así:

1.900672940949515e-26
0.0028169220335196596
2.898287594231024e-05

¿Hay alguna forma de imprimir la clase y el número juntos, de manera que se vea así?:

Const - 1.900672940949515e-26
Rank - 1.265173e-01 
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una manera de imprimir tanto la clase como el número. Puedes iterar a través del diccionario de pvalues utilizando el método items(), que devuelve cada elemento como un par de clave y valor, y luego imprimir la clave y el valor correspondiente. Aquí está el código modificado:

    alpha = 0.05
    for key, value in pVals.items():
        if value < alpha:
            print(key, "-", value)
    

    Esto imprimirá la clase y el pvalue correspondiente solo si el pvalue es menor que alpha.

Comments are closed.