Jump to content

ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().


Alaor

Postagens Recomendadas

Boa tarde.

Estou abrindo diversos arquivos .csv para manipular e gerar gráficos.  Em um dos passos preciso encontrar o valor máximo de uma coluna seguido do item que corresponde a mesma. Porém da o erro sinalado no título. 

Citação

 

import os
import glob
import pandas as pd

path = "/media/alaor/01D6FB1212958420/Doutorado/Sínteses/MoSe2/Raman/MoSe2/2022-04-12-ration-KBr-2-for-2-3sccm/Fita/Fitar"

read_files = glob.glob(os.path.join(path,"*.csv"))

values = []
for files in read_files:
    df = pd.read_csv(files)
    values.append(df)
    #print(files)


max_values = max(values[0]["A1'"])
print(max_values , values.index(max_values)) 

 

 

Na última linha que aparece o erro.  Também anexei um exemplo do arquvio .csv

 

a.100x_633nm.1.csv

Link to comment
Compartilhe em outros sites

Oi!

 

Cara posso ter entendido errado, mas eu acho que vc quer pegar o indice do dataframe que o maior valor pertence, correto? Tipo, qual a linha do dataframe que ele ta, correto?

 

Se for isso, acontece que vc está tentando chamar o index de um array ali no seu print.

Teria que ser values[0].index(max_values)

entretanto toda via, isso ainda não vai te ajudar pois o dataframe não tem esse função index que eu me lembre. Se vc quer pegar o registro da linha do max_values, é melhor filtrar fazendo

values[0][values[0]["A1'"] == max_values].index[0]

 

Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...