如何获得 python 中数据帧内的相关性?

How can I get the correlation within dataframe in python?

我在 python 的数据集中获取订单中产品组之间的相关性。我正在使用 pandas 数据框。我想知道某些产品组组合(例如衬衫和鞋子)是否相关。

我的数据框如下所示:

order_id product_group product_id
55 43 1123
55 41 5563
56 78 1114
57 50 34567

如您所见,如果订单有多个产品,订单将被拆分为多行。

我尝试将 order_id 分组并使用 pandas corr() 函数,但我需要两个输入,而我只有一个 (product_group) .

也许我需要类似余弦相似度的东西?

感谢您帮我解决这个问题!感谢您的帮助:)

如果您的产品组数量相当少,您可以尝试以下方法:

import pandas as pd
df = pd.DataFrame({'order_id': [55,55,56,57], 'product_group': [43,41,78,50] }).set_index('order_id')
df

    product_group
order_id    
55  43
55  41
56  78
57  50

new_df = pd.get_dummies(df, columns=['product_group']).groupby('order_id').agg('max')

new_df.corr()
product_group_41    product_group_43    product_group_50    product_group_78
product_group_41    1.0     1.0     -0.5    -0.5
product_group_43    1.0     1.0     -0.5    -0.5
product_group_50    -0.5    -0.5    1.0     -0.5
product_group_78    -0.5    -0.5    -0.5    1.0

然而,研究购物篮分析方法而不是相关性可能是明智的。但是如果你想坚持相关性,那么你需要为每个产品组创建这些指标虚拟列,如上所示。