我有想要训练机器学习分类器的数据。数据是宽格式的。我想用 searborn sns.boxplot(x='variable',y='value', hue='target', data=df_train)
做一个箱线图。如何重塑数据以便能够将其传递给 sns.boxplot
?
样本数据
import pandas as pd
from sklearn import datasets
X, y = datasets.make_classification(n_samples=100, n_features=5, random_state=1)
df_train = pd.DataFrame(X)
df_train['y']=y
回答1
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.melt.html 是您想要使用的。
dfg_train = df_train.melt(id_vars='y')
sns.boxplot(x='variable',y='value', hue='y', data=dfg_train)