2016-09-24 3 views
0

Как я могу построить эту фрейм данных с помощью морского судна, чтобы показать KPI для каждой модели?Seaborn visualize groups

allFrame = pd.DataFrame({'modelName':['first','second', 'third'], 
          'kpi_1':[1,2,3], 
          'kpi_2':[2,4,3]}) 

Не нравится sns.barplot(x="kpi2", y="kpi1", hue="modelName", data=allFrame) enter image description here Но скорее, как это за КПЭ enter image description here

+1

Не слишком знакомы с «морским ящиком», но сначала я попытаюсь сначала спланировать блок данных, а затем заговорить: 'allFrame2 = pd.melt (frame = allFrame, id_vars = ['modelName'], value_vars = [" kpi_1 "," kpi_2 "], value_name =" Значения ", var_name =" kpis "); sns.barplot (x = "kpis", y = "Значения", hue = "modelName", data = allFrame2) '. – Abdou

+0

Matplotlib или любой другой фреймворк тоже будет хорошо - я просто предложил морское дно, потому что я пытался использовать его сам. –

+0

Действительно, отлично работает. Большое спасибо. –

ответ

1

Попробуйте melt первый ТРАЕКТОРИЙ dataframe, а затем вы можете построить с помощью seaborn:

import pandas as pd 
import seaborn as sns 

allFrame = pd.DataFrame({'modelName':['first','second', 'third'], 
          'kpi_1':[1,2,3], 
          'kpi_2':[2,4,3]}) 
allFrame2 = pd.melt(frame=allFrame, 
          id_vars=['modelName'], 
          value_vars=["kpi_1","kpi_2"], 
          value_name="Values", var_name="kpis") 

sns.barplot(x="kpis", y="Values", hue="modelName", data=allFrame2) 

Спасибо!