python - 如果索引和列相同,如何在单独的列中获取数据集的相关值
问题描述
我将一个数据集导入到我的 python 脚本中并进行了相关性。这是相关的代码:
data = pd.read_excel('RQ_ID_Grouping.xlsx' , 'Sheet1')
corr = data.corr()
关联后的数据如下所示:
我想将数据转换为以下格式:
我正在使用此代码来实现上述数据,但它似乎不起作用:
corr1 = (corr.melt(var_name = 'X' , value_name = 'Y').groupby('X')['Y'].reset_index(name = 'Corr_Value'))
我知道在“groupby”部分之后应该有一些东西,但我不知道是什么。如果你能帮助我,我将不胜感激。
解决方案
用于DataFrame.stack
重塑和删除缺失值,转换MultiIndex
为列DataFrame.reset_index
名和最后设置的列名:
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))
推荐阅读
- phpunit - 我无法在 Magento 2 中运行 api 功能测试
- ios - 为什么 UIButton.layer.maskedCorners 接受分配显式数组而不是数组变量?
- java - 如何在spring boot中从属性文件中读取
- javascript - VueJS 在模板渲染之前获取数据
- c# - WinForms 打印动态创建的控件
- angular - Angular 2 - 如何将模板引用变量值设置为“true”
- apache-spark - Spark 是否为创建的每个 RDD 单独维护沿袭图?
- java - Maven 不适用于 Java SE 9 但 Java SE-1.8,为什么?
- database - IBM DB2 - 查询优化
- node.js - Fabric-node-sdk 1.2 可以与 Fabric 1.1 网络一起使用吗?