【发布时间】:2021-12-07 17:37:51
【问题描述】:
我想对一个如下所示的数据集进行图形表示,其中 1 和 os 表示存在/不存在:
f_list = ['feature_5','feature_3','feature_1','feature_4','feature_2','feature_6']
v = [[0,0,0,1,1,1],[0,1,1,1,1,1],[0,0,0,0,1,1],[0,0,1,1,1,1],[0,0,0,0,0,1],[1,1,1,1,1,1]]
df = pd.DataFrame(data=v, columns=f_list, index=range(6))
我能想到的最好的是一个条形图,其中“x”中的“特征”和频率总和“y”:
new_df = pd.DataFrame(index=range(6), columns=['Feature','sum'])
i=0
for f in f_list:
new_df.loc[i,'Feature'] = f
new_df.loc[i,'sum'] = df[f].sum()
i += 1
import seaborn as sns
ax = sns.barplot(x="Feature", y="sum", data=new_df.sort_values(by='sum', axis=0, ascending=False))
但我希望能够将特征组合可视化。
我想做一些看起来像热图或混淆矩阵的东西,但这些框仅代表存在/不存在。 喜欢:
n_something /feature_6/feature_2 / feature_4 / feature_1 / feature_3 / feature_5
4 x
2 x x
0 x x x
3 x x x x
1 x x x x x
5 x x x x x x
有什么想法吗?
【问题讨论】:
标签: python pandas matplotlib seaborn