Использование group by в регрессии для определения значений x и y в python - PullRequest
0 голосов
/ 26 февраля 2019

Можно ли сгруппировать данные (для определения переменных x и y) для запуска регрессии непосредственно в regPlot (или любой другой функции seaborn)?Я не могу найти встроенную функцию такого рода.

Например, в столбце у меня есть категориальная переменная "C", затем я пытаюсь подогнать строку регрессии (с x и y), используямедиана для каждой категории C. Есть ли какая-либо функциональность для этого?

1 Ответ

0 голосов
/ 28 февраля 2019

Сначала необходимо сгруппировать данные с помощью pandas, а затем отобразить их с помощью seaborn.Поскольку вы не предоставили свой фрейм данных, я буду использовать демонстрационный набор данных seaborn.

import pandas as pd
import seaborn as sns
# load dataframe
df = sns.load_dataset('car_crashes')

Фрейм данных выглядит следующим образом.abbrev столбец является столбцом категории.Я буду использовать переменную total и speeding как y и x.

enter image description here

Сначала используйте метод pandas .groupby() и передайте вашу категориальную переменнуюи в цепочке между тем другой метод .median(), чтобы pandas собирал ваши данные и возвращал медиану для данных.Pandas вернет фрейм данных, который выглядит следующим образом enter image description here

И затем просто вызовите столбец, который вы хотите построить.В нашем случае это total и speeding.После, передайте свои x и y в морское отделение .regplot()

# group by
x = df.groupby(['abbrev']).median().speeding
y = df.groupby(['abbrev']).median().total
# plot
sns.regplot(x, y)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...