我将数据集导入到我的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”部分之后应该有一些东西,但是我不知道是什么。如果您能帮助我,我将不胜感激。
答案 0 :(得分:1)
使用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))