María Marcela Pérez Jiménez :
En el siguiente código, que quiero, cuando en un valor de fila de 0.254 se encuentra, no es un promedio, el valor 0,254 se deja y va a la siguiente fila, pero no funciona, el promedio es de todos los valores
df = pd.DataFrame({'uno': [1, 2, 3], 'dos': [0.254, 5, 6], 'tres': [7, 8, 9]}, index=['x', 'y', 'z'])
df_range = len(df)
for row in df:
if df[row][i]==0.254:
df['mean'][i]=0.254
else:
df['mean'] = df.mean(axis=1)
print df
¿Usted sabe donde podría estar mal? Tal vez en la parte:
else:
df['mean'] = df.mean(axis=1)
Pero no sé cómo solucionarlo
¡Gracias!
Jon Clements:
Uso np.where
para establecer la media de 0.254 o ningún valor en esa fila se establece lo contrario, 0,254 a la media de la fila en sí, por ejemplo:
df['mean'] = np.where(df.eq(0.254).any(axis=1), 0.254, df.mean(axis=1))