gpt4 book ai didi

python - 复杂的 Pandas 融化

转载 作者:行者123 更新时间:2023-12-04 07:47:26 24 4
gpt4 key购买 nike

我有一个复杂的 melt 函数需要执行。我试过逐步解决它并检查其他问题,但我很困惑!

这是我当前的数据框:

         1   2   4   5   6   10   24
Userid

u_A 0 1 3 0 0 0 5
u_B 0 0 0 0 0 0 1

我需要解决这个问题:

Userid    Movieid    Rating
u_A 2 1
u_A 4 3
u_A 24 5
u_B 24 1

因此,澄清一下,删除 0 值评级并将每个评级放在单独的行中,以供 Userid 访问。我知道通常列轴也有一个名称(在本例中,该系列位于顶部),但我在处理过程中以某种方式设法丢失了它。

我得到的最接近的是语句 fold_1_df.melt(var_name=' movie_id', value_name=' rating') 但格式仍然不完整

最佳答案

您可以.reset_index(),熔化并重新设置索引。然后通过rating过滤dataframe:

x = (
df.reset_index()
.melt(id_vars="Userid", var_name="movie_id", value_name="rating")
.set_index("Userid")
)
print(x[x["rating"] > 0])

打印:

       movie_id  rating
Userid
u_A 2 1
u_A 4 3
u_A 24 5
u_B 24 1

关于python - 复杂的 Pandas 融化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67142227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com