Pregunta simple aquí: ¿cómo reemplazo todos los espacios en blanco en una columna con un cero?
Por ejemplo:
Name Age
John 12
Mary
Tim 15
En
Name Age
John 12
Mary 0
Tim 15
He intentado usar algo como esto, pero no estoy seguro de cómo Pandas realmente lee espacios en blanco:
merged['Age'].replace(" ", 0).bfill()
¿Alguna idea?
3 respuestas
Utilice el método integrado convert_objects
y establezca el parámetro convert_numeric=True
:
In [12]:
# convert objects will handle multiple whitespace, this will convert them to NaN
# we then call fillna to convert those to 0
df.Age = df[['Age']].convert_objects(convert_numeric=True).fillna(0)
df
Out[12]:
Name Age
0 John 12
1 Mary 0
2 Tim 15
Aquí hay una respuesta modificada de esta pregunta más completa. Lo haré un poco más Pythonic y resolveré tu problema basestring
.
def ws_to_zero(maybe_ws):
try:
if maybe_ws.isspace():
return 0
else:
return maybe_ws
except AttributeError:
return maybe_ws
d.applymap(ws_to_zero)
Donde d
es tu marco de datos.
merged['Age'] = merged['Age'].apply(lambda x: 0 if x == ' ' else x)
Preguntas relacionadas
Preguntas vinculadas
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.