Bom dia pessoal. Estou com uma lista de arquivos em .csv, cada arquivo apresenta uma lista de 100. Eu consegui fazer os cálculos para cada um dos arquivos como apresentarei a seguir:
arquivos = os.listdir('C:/Users/Mauricio Gabriel/Dados')
l_amostras = []
l_media = []
l_log = []
l_desvio = []
for i in range(len(arquivos)):
dado = pd.read_csv(arquivos[i], sep = ",")
media = dado["Length"].mean() #Média do diâmetro
dado["Logaritmo_b_2"] = -np.log2(dado["Length"]) #Criando coluna com logaritmo do diâmetro
media_log = dado["Logaritmo_b_2"].mean() #Média Logaritmo
desvio_padrao = np.std(dado["Logaritmo_b_2"]) #Desvio padrão Numpy
l_desvio.append(desvio_padrao)
l_media.append(media)
l_log.append(media_log)
l_amostras.append(arquivos[i])
dado = pd.DataFrame(list(zip(l_amostras,l_media, l_log, l_desvio)),
columns = ["Amostra", "Média diâmetro", "Média Logaritmica do diâmetro", "Desvio padrão"])
Porém eu quero pegar cada arquivo inicial e criar um boxplot e ficar com esses dados em uma variável dentro do programa para poder analisá-lo. Tentei fazer da seguinte forma:
for i in range(len(arquivos)):
dado = pd.read_csv(arquivos[i], sep = ",")
ax = sns.boxplot(data=dado['Lenght'], orient='h', width=0.3)
ax
Só que ele me retorna um erro:
if self.columns.nlevels > 1:
return self.getitemmultilevel(key)
indexer = self.columns.getloc(key)
if isinteger(indexer):
indexer = [indexer]
Como eu poderia pegar cada uma dessas colunas do "dado["Lenght"] e fazer gráficos ou ficar com eles para poder usá-los sem precisar recorrer a ler arquivo por arquivo manualmente?