Tengo 2 listas. 1 contiene mis predicciones, el otro los resultados reales. Quiero reemplazar los valores en 'mypicks' a 1 si está en la lista 'ganadores; y 0 si el valor no está en la lista 'ganadores'.
Usando las 2 listas a continuación. 'mypicks' cambiaría a [0,0,1,1,0,0,1,0,0,0] 0 representa el valor NO en la lista 'ganadores' y 1 representa los valores que ESTÁN en la lista 'ganadores'.
winners: ['GB', 'Ten', 'SF', 'Ari', 'Dal', 'Bal', 'Was', 'KC', 'Buf', 'LA', 'NE', 'Cin', 'Min', 'Oak', 'Hou']
mypicks: ['Atl', 'Mia', 'Ten', 'KC', 'Phi', 'Det', 'Dal', 'TB', 'Pit', 'Den']
3 respuestas
mypicks_binary = [1 if item in winners else 0 for item in mypicks]
[int(item in winners) for item in mypicks]
Si está tratando de usar esto para fines de verificación, elimine int
para tener Booleanos convenientes. De cualquier manera, si solo necesita contar la cantidad de selecciones correctas, simplemente sum
en esa lista obtendrá el total deseado.
Asumiendo que la etiqueta pandas
es correcta en esta pregunta:
correct_picks = list(df['mypicks'].isin(df['winners']).astype(int))
Devolverá una lista de [0,1] como la que está buscando, en columnas pandas
en lugar de listas.
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.