将列转换为行,并在python中打印与其相邻的值和值计数

将列转换为行,并在python中打印与其相邻的值和值计数,python,pandas,Python,Pandas,我已将csv导入python代码,如下所示: df = pd.DataFrame({ 50001:[np.nan,5,np.nan,5,5,np.nan], 50002:[np.nan,np.nan,9,np.nan,np.nan,3], 50003:[np.nan,3,5,np.nan,1,np.nan], }) 我希望我的数据如下所示: df = pd.DataFrame({ 50001:[np.nan,5,np.n

我已将csv导入python代码,如下所示:

df = pd.DataFrame({
         50001:[np.nan,5,np.nan,5,5,np.nan],
         50002:[np.nan,np.nan,9,np.nan,np.nan,3],
         50003:[np.nan,3,5,np.nan,1,np.nan],

})
我希望我的数据如下所示:

df = pd.DataFrame({
         50001:[np.nan,5,np.nan,5,5,np.nan],
         50002:[np.nan,np.nan,9,np.nan,np.nan,3],
         50003:[np.nan,3,5,np.nan,1,np.nan],

})

我已经为此编写了一个代码,但我只得到分数和值计数。我无法获取规则id列。这是我正在使用的代码:

for i in dframe:
    dframe1 = dframe.loc[: , i].value_counts()
    print(dframe1)
这给了我一个类似的结果:

如果您能帮助我解决此问题,我将不胜感激。

与或一起使用:

或:

df = (df.melt(var_name='Rule_ID', value_name='Score')
        .groupby(['Rule_ID', 'Score'])
        .size()
        .reset_index(name='Value_Count'))