Selecting a column from a conditional loop in a pandas dataframe

Asked

Viewed 100 times

0

I have a pandas dataframe with five rows 3 three columns. I want to create a function where my code returns which columns the value of the last row is greater than the first row. In the example of my code I want it to generate me a list with the column name 'Temp01'. I got in the way of creating if/Else to check the columns whose last row is larger than the first. Below follows my code:

#Importa as Bibliotecas Pandas e Numpy
import pandas as pd

#Cria do Dataframe
df0 = pd.DataFrame({'Temp01':[10,20,30,40,15],'Temp02':[50,60,70,70,45],'Temp03':[80,90,100,100,75]})

#Separa Colunas cuja ultima linha seja maior que a primeira
teste =[]#Lista c o nome de cada coluna do Dataframe df0

for column in df0.columns:

#df0.column[-1] para pegar a ultima linha de cada coluna 
#df0.column[0] para pegar a primeira linha de cada coluna

  if df0.column[-1]> df0.column[0]:
    text = column
    teste.append(text)
  else:
    pass
print(teste)

1 answer

0


#Importa as Bibliotecas Pandas e Numpy
import pandas as pd

#Cria do Dataframe
df0 = pd.DataFrame({'Temp01':[10,20,30,40,15],'Temp02':[50,60,70,70,45],'Temp03':[80,90,100,100,75]})

#Separa Colunas cuja ultima linha seja maior que a primeira
teste =[]#Lista c o nome de cada coluna do Dataframe df0

def Ultimo_Maior_Valor(p1,p2):
    '''Função retorna Verdadeiro ou Falso se ultimo valor é maior ou não'''
    if (p1 < p2):
        return True
    else:
        return False

for column in df0.columns:

    #Head pega n primeiro valor
    #Tail pega n ultimo valor
    p1 = int(df0[column].head(1))
    p2 = int(df0[column].tail(1))

  #Se o retorno for True, ele entra no if
    if Ultimo_Maior_Valor( p1, p2 ):
        teste.append(column)

print('Coluna(s) com último valor maior que o primeiro:')
print(teste)

inserir a descrição da imagem aqui

Browser other questions tagged

You are not signed in. Login or sign up in order to post.