Iterar sobre columnas y filas en un dataframe de Pandas y convertir cadena a flotante.
Tengo el siguiente dataframe:
col1 col2 col3
25,4 34,2 33,2
33,25 30.2 10,2
.................
y quiero iterar sobre todas las columnas y filas de este conjunto de datos.
df_range = len(df)
for column in df:
for i in range(df_range):
str.replace('.', ',').astype(float)
print(df)
y obtengo el siguiente error:
TypeError Traceback (most recent call last)
<ipython-input-38-47f6c96d2e67> in <module>()
3 for column in df2:
4 for i in range(df_range):
----> 5 str.replace('.', ',').astype(float)
6
7 print(df)
TypeError: replace() necesita al menos 2 argumentos (solo se proporcionó 1)
davy.ai
El error se debe a no especificar correctamente en qué cadena aplicar el método replace. Además, el método astype() debe aplicarse a una columna o celda específica del dataframe, no al objeto de dataframe completo.
Una versión corregida del código sería:
Este código itera sobre cada columna y fila del dataframe, reemplaza las comas por puntos y convierte los valores al tipo de dato float. El código corregido hace referencia a celdas específicas en el dataframe a través del método .iloc, y especifica la columna que se está modificando mediante el uso de df[column].