计算字符串列之间的相关性

Posted

技术标签:

【中文标题】计算字符串列之间的相关性【英文标题】:Calculate correlation between columns of strings 【发布时间】:2018-12-16 21:40:40 【问题描述】:

我有一个包含专业和媒体列的 df。我想计算这两列之间的相关性。

计算字符串列的相关性是否有一个简短的技巧?或者我是否已经将每个专业和媒体转换为一个数字,然后用 .corr() 计算相关性?

我发现了一个类似的问题 (Is there a way to get correlation with string data and a numerical value in pandas?),但我想检查字符串,而不是字符串中的每个单词。

df

  profession        media      

0 media lawyer      print
1 student           online
2 student           print
3 professor         online
4 media lawyer      online

【问题讨论】:

【参考方案1】:

您可以将数据类型转换为分类然后执行此操作

df['profession']=df['profession'].astype('category').cat.codes
df['media']=df['media'].astype('category').cat.codes
df.corr()

【讨论】:

您能否对此答案提供一些解释。它工作正常。只是我想知道为什么 .cat.codes。 .codes 有什么作用? .cat.codes 将您的类别从字符串表示形式转换为整数表示形式。例如,media lawyer 将被替换为 0,student 将被替换为 1,professor 将被替换为 2。在另一列中,print 将被替换为 0,online 将被替换与 1

以上是关于计算字符串列之间的相关性的主要内容,如果未能解决你的问题,请参考以下文章

Excel根据字符串列创建组ID

如何查找和替换字符串列中数字之间的空格?

如何在条件与数字之间使用 Oracle 中的字符串列

使用负索引从pyspark字符串列的最后一个索引中对多个字符进行子字符串

计算存储为 Hive 字符串列的 JSON 数组中的对象数

过滤具有特定字符的字符串列[关闭]