pandas - 使用公共轴绘制两个变量的分箱相关性
问题描述
我有三个列表已加载到 pandas 数据框中。
import pandas as pd
df = pd.DataFrame({'x': location})
df = df.assign(y1 = variable1)
df = df.assign(y2 = variable2)
我想绘制 y1 与 y2 的相关性,其中 x 是公共 x 轴。也就是说,实际上,我想根据 x 位置对 y1 和 y2 值进行分类,在每个 bin 中找到 y1 与 y2 的相关性,然后在整个 x 域中绘制一条相关性线。所以我的最终图将在 y 轴和 x 轴上具有相关性。
我以前使用 scipybinned_statistics
函数绘制条件均值,但我认为我不能轻易地将其扩展到相关性。无论如何,我也想在使用熊猫方面做得更好,所以如果可能的话,我会尽量避免这条路线。
我敢肯定这已经被问过,但我遇到的一切似乎都在查看多个分布图。
解决方案
我或多或少地找到了解决方案。实现类似于这里使用的东西我有:
nbins = 20
df['bins'] = pd.qcut(df['x'], q=nbins)
plotdatadf = df.groupby('bins')[['y1', 'y2']].corr().iloc[0::2, -1]
这为我提供了一个数据框,其中每个 bin 的相关系数为y1
和y2
,其中 bin 根据每个 bin 的观察值均匀划分x
。
我现在可以返回到我之前的数据帧,并添加具有这些相关值的原始长度的另一列,以if bin[1] then corr = corr[1]
-type 复制为条件。然后可以将此列绘制为 y 与我已经存在的 x 作为线图。
推荐阅读
- javascript - 如何对 .csv 中的数据进行分组并将其导出为 json
- python - 使用超网格搜索和 10 倍 CV 调整参数后,随机森林模型的 AUC 较低
- regex - gsub 表示没有方括号或反斜杠
- makefile - 在 Make 中运行延迟的 shell 命令
- ibm-midrange - 升级一个系统后,带有 DDM 文件的 IBM i/AS400 之间的简单 RPG 复制作业挂起
- shell - 如何在 shell 脚本中运行并行命令以在 gcp 中上传目录
- jenkins - 为 12 因子应用程序存储配置的过程是什么?
- java - 如果 ArrayList 改变大小,我如何从它中选择一个随机元素?
- excel - 计算 Excel 列中的非空白单元格
- spring-mvc - 生成空白 CSV 文件,需要写入存储在 List 中的数据