es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para multiplicar la columna ‘carrera’ por un flotante en el dataframe ‘df’, puedes usar el siguiente código:

    df['carrera'] = df['carrera'].astype(float) * 0.2
    

    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’:

    def calculo(self, datos):
        df2 = pd.DataFrame(datos, dtype=float)
        df2.columns = ['carrera', 'cinta1', 'cinta2']
        df2['carrera'] = df2['carrera'] * 0.2
        print(df2)
    

    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()’.

Comments are closed.