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

Han*_*nah 2 python string correlation pandas

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

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

我发现了一个类似的问题(是否有办法与字符串数据和熊猫中的数值建立关联?),但我想检查字符串,而不是字符串中的每个单词。

df

  profession        media      

0 media lawyer      print
1 student           online
2 student           print
3 professor         online
4 media lawyer      online
Run Code Online (Sandbox Code Playgroud)

Sre*_*ran 8

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

df['profession']=df['profession'].astype('category').cat.codes
df['media']=df['media'].astype('category').cat.codes
df.corr()
Run Code Online (Sandbox Code Playgroud)

  • 这有道理吗?因为如果我们有超过 2 个字符串值,这可以分为 0、1 和 2 3 个类别,并且它可能会解释为 2 比 1 更远离 0...不确定我是否说清楚了。 (3认同)
  • 您能对此答案提供一些解释吗?工作正常。只是我想知道为什么.cat.codes。.code有什么作用? (2认同)
  • `.cat.codes` 将您的类别从字符串表示形式转换为整数表示形式。例如,“媒体律师”将替换为 0,“学生”将替换为 1,“教授”将替换为 2。在另一列中,“打印”将替换为 0,“在线”将替换为替换为 1 (2认同)