¿Hay alguna forma de usar Python Pandas para restar una fila específica de otra fila?
Parte de mi código que está causando problemas abajo. Abro un CSV y quiero restar la primera fila de la última fila y luego agregarla a un nuevo archivo. Me da un error KeyError: 96 cuando lo intento. Sé que el problema es df[96]-df1 pero no estoy seguro de por qué está mal, también he intentado df[96,:] – df[1,:]
df abre un archivo csv que parece una descripción de encabezado con números en cada columna (30 columnas)
df = pd.read_csv(‘nombredelarchivo’)
listadediccionarios = []
nuevasuma = df[96]-df[1] # Quiero restar la fila 1 (después del encabezado) de la fila 96 (o cualquier otra fila final)
listadediccionarios.append(nuevasuma)
Una cosa, sin embargo, quiero que la salida sea en formato de lista para que pueda agregar otro valor en el primer valor de la lista. Entonces, la salida sería en formato de lista, por ejemplo listoutput = [-5, 3, 2] y luego puedo ir a listoutput[0] = variabledefechacorriente
davy.ai
Parece que estás intentando restar la primera fila de la última fila de tu archivo CSV. El problema es que
df[96]
está tratando de acceder a la fila número 96 de tu dataframe, la cual no existe. Puedes usardf.iloc[-1]
para acceder a la última fila de tu dataframe.Por lo tanto, puedes usar el siguiente código para restar la primera fila de la última fila y agregarla a un nuevo archivo:
Para obtener la salida en formato de lista, puedes usar el método
tolist()
:Esto debería darte la salida deseada.