数据处理、相关性计算

数据挖掘 Python 相关性
2022-03-01 11:03:13

我有如下所示的产品购买计数数据:

user item1 item2
   a     2     4
   b     1     3
   c     5     6
   ...   ...   ...

这些数据被导入到pythonusing 中numpy.genfromtxt现在我想处理它以获得item1购买金额和item2购买金额之间的相关性——基本上对于每个值xitem1我想找到所有购买数量的用户,item1然后对相同用户x进行平均。item2做这个的最好方式是什么?我可以通过使用for循环来做到这一点,但我认为可能有比这更有效的方法。谢谢!

1个回答

Pandas 是自切片面包以来最好的东西(至少对于数据科学而言)。

一个例子:

import pd
In [22]: df = pd.read_csv('yourexample.csv')

In [23]: df
Out[23]:
   user   item1   item2
0     a        2      4
1     b        1      3
2     c        5      6

In [24]: df.columns
Out[24]: Index([u'user ', u'item1 ', u'item2'], dtype='object')

In [25]: df.corr()
Out[25]:
          item1      item2
item1   1.000000  0.995871
item2   0.995871  1.000000

In [26]: df.cov()
Out[26]:
          item1      item2
item1   4.333333  3.166667
item2   3.166667  2.333333

答对了!