是否可以将数据(用于定义x和y变量)分组以便直接在regPlot(或任何其他seaborn功能)中运行回归?我找不到这种内置功能。</ p>
例如,在一个列中,我有一个类别变量“ C”,然后我尝试使用C的每个类别的中位数拟合回归线(带有x和y)。是否有任何功能可以做到这一点?
答案 0 :(得分:1)
您需要先用pandas
对数据进行分组,然后再用seaborn
对其进行绘制。由于您没有提供数据框,因此我将使用一个简单的示例数据集进行演示。
import pandas as pd
import seaborn as sns
# load dataframe
df = sns.load_dataset('car_crashes')
数据框如下所示。 abbrev
列是类别列。我将total
和speeding
变量用作y和x。
首先,使用pandas .groupby()
方法并传递您的分类变量,同时使用另一种方法.median()
,以便pandas将汇总您的数据并返回数据的中位数。熊猫将返回如下数据框
然后仅调用要绘制的列。在我们的情况下,它们是total
和speeding
。之后,将x和y传递给seaborn .regplot()
# group by
x = df.groupby(['abbrev']).median().speeding
y = df.groupby(['abbrev']).median().total
# plot
sns.regplot(x, y)