gpt4 book ai didi

python - 如何从 corr() 函数输出中删除 NaN 值

转载 作者:行者123 更新时间:2023-12-01 09:15:46 32 4
gpt4 key购买 nike

编辑以显示原始数据框的示例:

df.head(4)

shop category subcategory season
date
2013-09-04 abc weddings shoes winter
2013-09-04 def jewelry watches summer
2013-09-05 ghi sports sneakers spring
2013-09-05 jkl jewelry necklaces fall

我已经使用 get_dummies() 成功生成了以下数据框:

wedding_seasons = pd.get_dummies(df.loc[df['category']=='weddings',['category','season']],prefix = '', prefix_sep = '' )

wedding_seasons.head(3)

weddings winter summer spring fall
71654 1.0 0.0 1.0 0.0 0.0
72168 1.0 0.0 1.0 0.0 0.0
72080 1.0 0.0 1.0 0.0 0.0

上述的目标是帮助评估跨季节婚礼的频率,因此我使用 corr() 生成以下结果:

         weddings   fall       spring     summer       winter
weddings NaN NaN NaN NaN NaN
fall NaN 1.000000 0.054019 -0.331866 -0.012122
spring NaN 0.054019 1.000000 -0.857205 0.072420
summer NaN -0.331866 -0.857205 1.000000 -0.484578
winter NaN -0.012122 0.072420 -0.484578 1.000000

我不确定为什么 wedding 列会生成 NaN 值,但我的直觉是它源于我最初创建 wedding_seasons 的方式。任何指导将不胜感激,以便我可以正确评估列相关性。

最佳答案

我认为您在这里感兴趣的不是“相关性”。

数据帧 wedding_seasons 中的所有列都包含浮点值;但是,如果我的怀疑是正确的,则原始数据帧 df 中的行包含类似交易记录的内容,其中每一行对应于一个人。

如果我错了,请告诉我,但我会继续我的推理。

相关性将直观地衡量同一观察中值一起/相反变化的趋势(例如,如果 X 和 Y 呈负相关,那么当我们看到 X 高于其平均值时,我们预计 Y 会出现低于其平均值)。

但是,您这里拥有的数据是,如果一笔交易是夏季,那么它绝对不可能同时是冬季。当您创建 wedding_seasons 时,Pandas 会创建虚拟变量,在计算相关矩阵时将其视为浮点值;由于任何行不可能同时包含两个 1.0 条目,因此显然您生成的相关矩阵将到处都有负条目。

关于python - 如何从 corr() 函数输出中删除 NaN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51272909/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com