变量内字符串之间的相关性

如何评估每个变量中每种类型之间的相关性?


df

      level            job

0     good           golfer

1     bad           footballer

2   intermediate     musician

...

预期输出是一个相关表或类似的东西:


             golfer  footballer  musician  ...

good      

bad       

intermediate 

我试过:


df['level']=df['level'].astype('category').cat.codes

df['job']=df['job'].astype('category').cat.codes

df.corr()


MMTTMM
浏览 99回答 2
2回答

qq_遁去的一_1

您可以使用pd.crosstabdf1 = pd.crosstab(df.level, df.job)df1对于我的示例数据,您将得到输出job           footballer  golfer  musicianlevelbad                    1       3         3good                   3       3         2intermediate           1       2         2然后除以每行的总和 df1 / df1.sum()输出job           footballer  golfer  musicianlevelbad                  0.2   0.375  0.428571good                 0.6   0.375  0.285714intermediate         0.2   0.250  0.285714

慕丝7291255

从预期的输出来看,您需要一个频率表。我想这可以做得更好,但一种方法是:count_combos = pd.Series(zip(df.level, df.job)).value_counts() count_combos.index = pd.MultiIndex.from_tuples(count_combos.index) count_combos.unstack()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python