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?
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:
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)
“ `
“ `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!