Pandas corrwith指定method='spearman'报错TypeError,寻求技术帮助
解决corrwith()调用时method参数报错的问题
问题原因
你遇到的错误是因为当前使用的Pandas版本低于1.4.0——corrwith()的method参数是在Pandas 1.4.0版本才新增的,旧版本不支持这个参数,因此会提示"unexpected keyword argument"。
解决方案
有两种可行的解决方式:
升级Pandas版本
执行以下命令升级到支持method参数的版本:pip install --upgrade pandas升级完成后,直接使用
df.corrwith(other_df, method='spearman')即可正常运行。不升级版本,手动模拟Spearman相关计算
Spearman相关系数本质是变量秩的皮尔逊相关系数,因此可以先对两个DataFrame的所有列计算秩,再用corrwith()计算皮尔逊相关(旧版本corrwith()默认支持):# 假设你的两个DataFrame是df1和df2 df1_rank = df1.rank() df2_rank = df2.rank() spearman_corr = df1_rank.corrwith(df2_rank)
内容的提问来源于stack exchange,提问作者senorita.xi
相关产品推荐
相关产品推荐

