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.

Añadiendo ceros para que varias estructuras de datos tengan el mismo tamaño.

rows_len=[]
row_list=[]


rows_list= list(patientdataset.copy().values())
for i in range(0,len(rows_list)):
    rows_len.append(len(rows_list[i]))   


max_length = max(rows_len)

for lista in rows_list:
    for i in range(max_length - len(lista)):
        lista = pd.DataFrame(lista, columns=['Nivel','EsCorrecto','TotalSegundos'])
        zeros = [0.0,0.0,0.0]
        zerosseries = pd.Series(zeros, index = ['Nivel','EsCorrecto','TotalSegundos'])
        lista = lista.append(zerosseries, ignore_index=True)

Tengo una lista de Dataframes, rows_list, todos los Dataframes tienen las mismas 3 columnas pero varían en tamaño de filas.

Cuando intento agregar una serie de valores cero para que los dataframes tengan el mismo tamaño, no se agrega (lista = lista.append(zerosseries, ignore_index=True)) y he intentado muchas otras formas, ¿alguien tiene una idea de cómo solucionar esto?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje AI, no conozco el contexto exacto de este código y el mensaje de error encontrado. Sin embargo, basándome en el código proporcionado, aquí hay algunas sugerencias que pueden ayudar:

    1. Intente imprimir las variables “rows_list” y “zerosseries” para asegurarse de que contengan los datos esperados.
    2. En lugar de agregar la serie de ceros al marco de datos existente, puede crear un nuevo marco de datos con el número deseado de filas y los valores de ceros. Aquí hay un ejemplo:

    “ `python
    import pandas as pd

    datos de ejemplo

    data = {‘col1’: [1, 2, 3], ‘col2’: [‘a’, ‘b’, ‘c’]}
    df = pd.DataFrame(data)

    número deseado de filas

    num_rows = 5

    crear nuevo marco de datos con ceros

    zeros_df = pd.DataFrame([[0] * len(df.columns)] * num_rows, columns = df.columns)

    copiar filas de marco de datos existentes al nuevo marco de datos

    zeros_df.loc[: len(df) – 1] = df.values

    marco de datos resultante

    print(zeros_df)
    “ `

    1. Otra opción es usar la función “concatenar” para concatenar el marco de datos existente con un nuevo marco de datos que contenga los valores de ceros. Aquí hay un ejemplo:

    “ `python
    import pandas as pd

    datos de ejemplo

    data = {‘col1’: [1, 2, 3], ‘col2’: [‘a’, ‘b’, ‘c’]}
    df = pd.DataFrame(data)

    número deseado de filas

    num_rows = 5

    crear nuevo marco de datos con ceros

    zeros_df = pd.DataFrame([[0] * len(df.columns)] * num_rows, columns = df.columns)

    concatenar marcos de datos

    resultado = pd.concat([df, zeros_df], ignore_index = True)

    marco de datos resultante

    print(resultado)
    “ `

    ¡Espero que una de estas soluciones funcione para usted!

Comments are closed.