程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何执行分类列之间的关联

发布于2019-11-11 14:18     阅读(993)     评论(0)     点赞(3)     收藏(1)


我在数据帧df1中有一组列(col1,col2,col3)我在数据帧df2中有另一组列(col4,col5,col6)假定这两个数据帧的行数相同。

如何生成在df1和df2之间进行成对相关的相关表?

桌子看起来像

    col1 col2 col3
col4 ..   ..   ..
col5 ..   ..   ..
col6 ..   ..   ..

我使用df1.corrwith(df2),它似乎没有按要求生成表。

我在这里有一个类似的问题: 如何在具有不同列名的两个数据框之间执行关联, 但是现在我正在处理分类列。

如果不能直接进行比较,是否有标准方法可以使之可比(例如使用get_dummies)?并且这是一种自动处理所有字段(假设所有字段都是类别)并计算其相关性的更快方法吗?


解决方案


您是正确的,pd.get_dummies需要获得相关性。在下面,我将创建带有两个分类列的伪数据,然后使用corrwith

df = pd.DataFrame({'col1':np.random.choice(list('abcde'),100),
                  'col2':np.random.choice(list('xyz'),100)}, dtype='category')
df1 = pd.DataFrame({'col1':np.random.choice(list('abcde'),100),
                   'col2':np.random.choice(list('xyz'),100)}, dtype='category')

dfa = pd.get_dummies(df)
dfb = pd.get_dummies(df1)
dfa.corrwith(dfb)

col1_a   -0.057735
col1_b    0.002513
col1_c    0.137956
col1_d   -0.095050
col1_e   -0.114022
col2_x    0.022568
col2_y   -0.081699
col2_z   -0.128350


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/150187/c07ac49d133b66088ab0/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

3 0
收藏该文
已收藏

评论内容:(最多支持255个字符)