2016-04-20 5 views
0

Ich habe einen Ordner mit mehreren CSV-Dateien. Jede Datei hat 3 Spalten ('real', 'user', 'sys') jede Spalte hat 10 Zeitwerte (float) in den Zeilen. Mein Ziel ist es, diese csv-Dateien aus dem Ordner zu lesen und ein Box-Whisker-Diagramm zu erstellen Vergleichen Sie die Werte jeder CSV-Datei. Ich schrieb den folgenden Python-Code und es gibt mir mehrere (gleich der Anzahl der Dateien) separate Graphen. Wenn Sie plt.show() aus der Schleife entfernen, wird nur das letzte Diagramm angezeigt.Plotten Box-Plot Grafik aus einem Ordner mit mehreren CSV in Python

Ich möchte, dass diese Graphen in einem Graphen zusammengeführt werden und jeder Dateiname die Labels sind, die definieren, welcher Box-Whisker für welche Datei ist. Freundlich helfen.

import csv 
import numpy as np 
import pandas 
import matplotlib.pyplot as plt 
import glob 

files = glob.glob ('/Users/Desktop/sample/*.csv') 
print files 

for file in files: 
    df = pandas.read_csv(file, sep=',') 

    LABELS = ["real", "user", "sys"] 

    plt.title('Time Taken by Classifier') 
    plt.xlabel('Time_Types') 
    plt.ylabel('Time_Value in (sec)') 


    df.boxplot() 

    plt.show() 

Antwort

0

Vielleicht möchten Sie etwas in dieser Richtung versuchen:

import pandas as pd 
data = pd.DataFrame() 
for file in files: 

    df = pandas.read_csv(file, sep=',') 
    df['file'] = file 
    data = pd.concat([data, df]) 


LABELS = ["real", "user", "sys"] 

plt.title('Time Taken by Classifier') 
plt.xlabel('Time_Types') 
plt.ylabel('Time_Value in (sec)') 


data.boxplot(by='file') 

plt.show() 

Siehe pd.DataFrame.boxplot() docs und underlying matplotlib implementation, wie Sie das Schlüsselwort args Layout verändern können.

+0

Hat dies Ihre Frage beantwortet? – Stefan