Нарисуйте графики распределения на основе групп в столбце - PullRequest
0 голосов
/ 12 февраля 2020

Я хотел бы нарисовать график распределения для каждой группы под столбцом 'location' - график var1 для A, B и C под location. Когда я пробую приведенный ниже код, он дает мне один график распространения. Я хотел бы отдельные участки для каждой группы. Любое предложение будет высоко оценено.

фрейм данных (file.csv):

location var1 var2
A        122   105
A        126   100
A        137   107
B        145   110
B        153   108
B        138   102
C        129   115
C        130   98
C        149   100

код:

import pandas as pd
import seaborn as sns
import matplotlib as plt

dataframe = pd.read_csv('file.csv')
for level in dataframe['location'].unique():
    dataframe = dataframe[dataframe['location']==level]
    x = 'var1'
    sns.distplot(dataframe[x], kde=True, rug=True)

1 Ответ

1 голос
/ 12 февраля 2020

Вы можете создать экземпляр оси в пределах для l oop и передать его в distplot. Кроме того, использование groupby быстрее:

for location, data in df.groupby('location'):
    fig, ax = plt.subplots()
    sns.kdeplot(data['var1'], ax=ax, label=location)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...