La guía paso a paso o código que encontrarás en este artículo es la resolución más eficiente y válida que hallamos a tu duda o problema.
Solución:
Una manera fácil de agrupar eso es usar la suma de esas dos columnas. Si alguno de ellos es positivo, el resultado será mayor que 1. Y groupby acepta un valor arbitrario array siempre que la longitud sea la misma que la del DataFrame, por lo que no necesita agregar una nueva columna.
family = np.where((df['SibSp'] + df['Parch']) >= 1 , 'Has Family', 'No Family')
df.groupby(family)['Survived'].mean()
Out:
Has Family 0.5
No Family 1.0
Name: Survived, dtype: float64
Use solo una condición si nunca valores en columnas SibSp
y Parch
son menos como 0
:
m1 = (df['SibSp'] > 0) | (df['Parch'] > 0)
df = df.groupby(np.where(m1, 'Has Family', 'No Family'))['Survived'].mean()
print (df)
Has Family 0.5
No Family 1.0
Name: Survived, dtype: float64
Si es imposible, use primero use ambas condiciones:
m1 = (df['SibSp'] > 0) | (df['Parch'] > 0)
m2 = (df['SibSp'] == 0) & (df['Parch'] == 0)
a = np.where(m1, 'Has Family',
np.where(m2, 'No Family', 'Not'))
df = df.groupby(a)['Survived'].mean()
print (df)
Has Family 0.5
No Family 1.0
Name: Survived, dtype: float64
Sección de Reseñas y Valoraciones
Más adelante puedes encontrar las observaciones de otros gestores de proyectos, tú igualmente tienes el poder dejar el tuyo si te gusta.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)