python - 如果索引和列相同,如何在单独的列中获取数据集的相关值

标签 python pandas correlation

我将一个数据集导入到我的 python 脚本中并获取了相关性。这是关联代码:

data = pd.read_excel('RQ_ID_Grouping.xlsx' , 'Sheet1')
corr = data.corr()

关联后的数据如下所示:

enter image description here

我想将数据转换为以下格式:

enter image description here

我正在使用此代码来实现上述数据,但它似乎不起作用:

corr1 = (corr.melt(var_name = 'X' , value_name = 'Y').groupby('X')['Y'].reset_index(name = 'Corr_Value'))

我知道“groupby”部分之后应该有一些东西,但我不知道是什么。如果您能帮助我,我将不胜感激。

最佳答案

使用DataFrame.stack要 reshape 并删除缺失值,请按 DataFrame.reset_indexMultiIndex 转换为列和最后设置的列名称:

df = corr.stack().reset_index()
df.columns = ['X','Y','Corr_Value']

另一个解决方案 DataFrame.rename_axis :

df = corr.stack().rename_axis(('X','Y')).reset_index(name='Corr_Value')

并且您使用 melt 的解决方案也是可能的:

df = (corr.rename_axis('X')
         .reset_index()
         .melt('X', var_name='Y', value_name='Corr_Value')
         .dropna()
         .sort_values(['X','Y'])
         .reset_index(drop=True))

关于python - 如果索引和列相同,如何在单独的列中获取数据集的相关值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56148816/

相关文章:

Python:调整图像大小:保持比例 - 添加白色背景

r - 如何更改corrplot中相关系数的字体大小?

r - 我想对许多数据框进行关联

python - 如何对所有变量使用describe() by group?

python - 如果数据框列中的空值已存在于另一行中,则用相同的值填充该空值

python - 按行/列对标签进行排序

python - 相关系数说明-特征选择

python - 当我尝试从 QString 数组创建时,创建 numpy 数组失败

python - 在convert_to_south之后应用程序显示为 "not synced"

python - 在 python 包中添加和读取 config.ini 文件