Multiplicando una columna de un dataframe por un número de punto flotante – pandas.
Este es un fragmento de mi marco de datos llamado df:
carrera cinta1 cinta2
0 0.61 499.556 611.029
1 0.876 499.556 611.029
2 1.082 499.556 611.029
3 1.167 499.556 611.029
4 1.337 0.045 611.029
Necesito multiplicar la columna ‘carrera’ por un flotante (en este caso 0.2).
Mi marco de datos proviene de una lista:
def calculo(self, datos):
df2 = pd.DataFrame(datos)
df2.columns = ['carrera', 'cinta1', 'cinta2']
print(df2.dtypes)
Luego, multiplico la columna por 0.2
df1 = df2[‘carrera’]*0.2
print(df1)
Esto da un error: no se puede multiplicar una secuencia por un flotante.
RESUELTO
Los datos del marco de datos eran de tipo objeto.
Al definir el conjunto de datos agregué lo siguiente:
df2 = pd.DataFrame(datos, dtype=float)
davy.ai
Para multiplicar la columna ‘carrera’ por un flotante en el dataframe ‘df’, puedes usar el siguiente código:
Primero, debes convertir el tipo de datos de la columna ‘carrera’ a flotante usando el método ‘astype()’. Después, puedes realizar la operación de multiplicación usando el operador ‘*’ y asignar los resultados de nuevo a la columna ‘carrera’.
Si estás creando el dataframe a partir de una lista de datos llamada ‘datos’, puedes modificar tu código de la siguiente manera para asegurarte de que la columna ‘carrera’ se cree como un tipo ‘float’:
Aquí, el parámetro ‘dtype’ se establece en ‘float’ para crear todas las columnas como tipos de flotantes. Luego, la columna ‘carrera’ se multiplica por 0.2 usando el mismo método que antes. Se imprime el dataframe modificado usando la función ‘print()’.