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.

Cómo identificar un número que tiene un correspondiente negativo en una lista?

Soy principiante en este camino de Python/VBA, así que tengo un problema que quiero pedirte amablemente.

Tengo una lista de filas en una hoja de cálculo de Excel (también trato estos datos con Pandas para reducir el número de filas que tengo que analizar en Excel).

El hecho es que tengo decenas de miles de filas que en una columna específica tienen valores como estos:

       col
0 -142.60
1  142.60
2 -565.78
3  565.78
4  -90.00
5   90.00
6   63.26
7  -63.26
8  117.96

Así que simplemente quiero saber cómo puedo eliminar automáticamente las filas que tienen un número negativo correspondiente y la suma es igual a 0.

Solo quiero la fila con 117,96 aquí.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para lograr esto, puedes usar Pandas para filtrar las filas que cumplan tus condiciones.

    Aquí está el código para lograr esto:

    import pandas as pd
    
    # Leer el archivo de Excel en un dataframe de Pandas
    df = pd.read_excel('nombrearchivo.xlsx')
    
    # Filtrar las filas donde col es negativo y el valor absoluto de col no existe en el dataframe
    df = df[~((df['col'] < 0) & (-df['col'].isin(df['col'])))] 
    
    # Filtrar las filas donde col es igual a 0
    df = df[df['col'] != 0]
    
    # Obtener la suma de los valores restantes en col
    sum_col = df['col'].sum()
    
    # Imprimir la suma de los valores restantes en col
    print(sum_col)
    

    Este código lee el archivo de Excel en un dataframe de Pandas, filtra las filas donde col es negativo y el valor absoluto de col no existe en el dataframe, y luego filtra las filas donde col es igual a 0. Finalmente, el código calcula la suma de los valores restantes en col e imprime el resultado.

Comments are closed.