IIU C, вы можете просто присвоить target_df
в качестве столбца в train_df
и передать его как hue
:
sns.pairplot(data=train_df.assign(target=target_df,
hue='target')
Однако это будет очень медленно, если ваш target
непрерывно. Вместо этого вы можете сделать двойной for
l oop:
num_features = len(train_df.columns)
fig,ax = plt.subplots(num_features, num_features, figsize=(10,10))
for i in train_df.columns:
for j in train_df.columns:
if i==j: # diagonal
sns.distplot(train_df[0], kde=False, ax=ax[i][j])
else: # off diagonal
sns.scatterplot(x=train_df[i],y=train_df[j],
ax=ax[i][j], hue=target_df, palette='BrBG',
legend=False)
, который дает вам что-то вроде этого: