gpt4 book ai didi

python - reshape 具有不同长度行的数据框

转载 作者:行者123 更新时间:2023-11-28 20:57:26 25 4
gpt4 key购买 nike

我在 python 中有一个数据框,如下所示:

ID    Value
001 0.5
001 0.2
001 0.5
001 0.0
002 0.4
002 0.6
002 0.6

我希望将数据 reshape 为如下形式:

ID    Val1    Val2   Val3   Val4
001 0.5 0.2 0.5 0.0
002 0.4 0.6 0.6 NaN

有人可以帮忙吗?我的第一个想法是使用“pivot”对数据进行去熔化,但没有表示“Val”位置的值,它无法按预期工作。

谢谢!

最佳答案

Grouppby 你的 ID 然后重置索引以保持列一致并取消堆叠

df.groupby('ID')['Value'].apply(lambda df: df.reset_index(drop=True)).unstack()
0 1 2 3
ID
1 0.5 0.2 0.5 0.0
2 0.4 0.6 0.6 NaN

或者不使用 ID 作为索引:

df.sort_values('ID').groupby('ID')['Value'].apply(lambda df: df.reset_index(drop=True)).unstack().reset_index()
ID 0 1 2 3
0 1 0.5 0.2 0.5 0.0
1 2 0.4 0.6 0.6 NaN

关于python - reshape 具有不同长度行的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53069682/

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