¿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
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:
Esto imprimirá la clase y el pvalue correspondiente solo si el pvalue es menor que alpha.