解读pandas.DataFrame.corrwith
作者:waifdzdn 发布时间:2023-10-17 13:22:09
解读pandas.DataFrame.corrwith
pandas.DataFrame.corrwith用于计算DataFrame中行与行或者列与列之间的相关性。
Parameters:
other:DataFrame, Series. Object with which to compute correlations.
axis: {0 or ‘index’, 1 or ‘columns’}, default 0. 0 or ‘index’ to compute column-wise, 1 or ‘columns’ for row-wise.
method:{‘pearson’, ‘kendall’, ‘spearman’} or callable.
axis=0或者axis=‘index’ 表示计算列与列的相关性,axis=1或者axis=‘columns’ 表示计算行与行的相关性。
method是计算相关性的方法,这里采用pearson correlation coefficient(皮尔逊相关系数)。
下面以一个观众对电影评分的例子说明
每一行表示一个观众对所有电影的评分,每一列表示所有观众对一部电影的评分。
然后分别计算第一位观众和其他观众的相关性 和第一部电影和其它电影的相关性。
代码如下
import pandas as pd
import numpy as np
data = np.array([[5, 5, 3, 3, 4], [3, 4, 5, 5, 4],
[3, 4, 3, 4, 5], [5, 5, 3, 4, 4]])
df = pd.DataFrame(data, columns=['The Shawshank Redemption',
'Forrest Gump', 'Avengers: Endgame',
'Iron Man', 'Titanic '],
index=['user1', 'user2', 'user3', 'user4'])
# Compute correlation between user1 and other users
user_to_compare = df.iloc[0]
similarity_with_other_users = df.corrwith(user_to_compare, axis=1,
method='pearson')
similarity_with_other_users = similarity_with_other_users.sort_values(
ascending=False)
# Compute correlation between 'The Shawshank Redemption' and other movies
movie_to_compare = df['The Shawshank Redemption']
similarity_with_other_movies = df.corrwith(movie_to_compare, axis=0)
similarity_with_other_movies = similarity_with_other_movies.sort_values(
ascending=False)
这里采用了pearson correlation coefficient:
其中,n是样本的维度,xi和yi分别表示样本每个维度的值,和
表示样本均值。
以user1和user4为例,计算他们之间的相关系数,user1的均值是4,user2的均值是4.2:
这个结果与corrwith函数计算的结果一致。
similarity_with_other_users
similarity_with_other_movies
从结果可以看出,user1和user4的相关性最高,说明他们对每部电影的评分最接近,或者说他们的喜欢电影的类型最接近;《The Shawshank Redemption》和《Forrest Gump》的相关性为1,说明后者的评分和前者最接近。
来源:https://blog.csdn.net/w1301100424/article/details/98473560


猜你喜欢
- SQL中Case的使用方法Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex &nbs
- 本文实例讲述了javascript获取select值的方法。分享给大家供大家参考,具体如下:<!DOCTYPE html><
- 项目场景:常见的表单填写中都会遇到,比如新增信息,修改信息等,如下图相信大家对上面的验证都非常熟悉了,不多哔哔 本篇文章主要 想写 验证规则
- 一、源码分析Django 发布的 1.4 版本中包含了一些安全方面的重要提升。其中一个是使用 PBKDF2 密码加密算法代替了 SHA1 。
- 在上两篇文章(MySQL备份与恢复之冷备,MySQL备份与恢复之真
- 1、注册一个新浪应用,得到appkey和secret,以及token,将这些信息写入配置文件sina_weibo_config.ini,内容
- 之前有教大家制作日历,很多小伙伴都兴奋的告诉小编自己成功了。那么我们在日历中怎么去找到我们想要的那个时间点呢?其实有点类似于查询的功能,但是
- 安装Pycharm2020.1无法启动安装完成后,打开就闪退卸载干净以前的版本如果 C:\Users\用户名字\.PyCharm2019.*
- 语言的内存管理是语言设计的一个重要方面。它是决定语言性能的重要因素。无论是C语言的手工管理,还是Java的垃圾回收,都成为语言最重要的特征。
- 运行环境Python 2.7操作实例1.原始文本格式:空格分隔的txt,例如2016-03-22 00:06:24.4463094 中文测试
- 本文实例讲述了python基于queue和threading实现多线程下载的方法,分享给大家供大家参考。具体方法如下:主代码如下: &nbs
- 超级鹰平台验证码的破解可以有以下方式:简单的数字字母组合可以使用图像识别(python 现成模块),成功率不高使用第三方打码平台(破解验证码
- 等间距取值a = np.linspace(float(-pi), float(pi), 100)从-pi到pi取100个值对区间进行等间距取
- 本文实例为大家分享了python图书管理系统的具体代码,供大家参考,具体内容如下实现语言:python图形框架:DTK+2.0数据库框架:S
- Notepad++ 是一款非常有特色的编辑器,软件小巧高效,支持27种编程语言,通吃C,C++ ,Java ,C#, XML, HTML,
- 一、安装pip install pymysql二、连接数据库三种连接数据库的方式import pymysql# 方式一conn = pymy
- 三重相等运算符 === 严格检查2个值是否相同:1 === 1; // => true1 === '1';
- 我们在平常的系统开发中常常会遇到像无限级分类这样的树型结构数据,现提供一个可用的数据库存储过程,可以完成树型结构数据的排序。环境:windo
- 1.什么是pandas2.查看pandas版本信息print(pd.__version__)输出:0.24.13.常见数据类型常见的数据类型
- 如下所示:<!DOCTYPE html><html><head lang="en">