gpt4 book ai didi

python - 堆栈数据框(python)

转载 作者:行者123 更新时间:2023-12-04 08:46:40 25 4
gpt4 key购买 nike

我试图通过使用函数 stack() 在 python 中堆叠数据帧但有些东西不能正常工作。
我的数据框具有以下结构:

>              BE       BG       CZ      ...
> AT_CPA_A02 0.0706 0 0.3879 ...
> BE_CPA_A02 38.8601 0.0001 0.0233 ...
> BG_CPA_A02 0 95.2664 0. ...
> ... ... ... ...
我正在寻找的是:
>              Country Val.
> AT_CPA_A02 BE 0.0706
> AT_CPA_A02 BG 0
> AT_CPA_A02 CZ 0.3879
> ...
> BE_CPA_A02 BE 38.8601
> BE_CPA_A02 BG 0.0001
> BE_CPA_A02 CZ 0.0233
> ...
尽管如此,在使用函数 stack() 时在 df = df.stack()结果是:
>              Country BE.      BG.     CZ
> AT_CPA_A02 BE 0.0706 NA. NA.
> BG NA. 0. NA.
> CZ NA. NA. 0.3879.
> ...
> BE_CPA_A02. BE. 38.8601 NA. NA.
> BG. NA. 0.0001 NA
> CZ. NA. NA. 0.0233
> ...
在将该函数与一些示例数据一起使用时,它可以完美运行......
有人可以帮我吗?提前谢谢了

最佳答案

一种选择是使用 .melt .我这样做的方式是,您必须先重置索引,然后再将其设置回来:

df = df.reset_index().melt(id_vars='index', var_name='Country', value_name='Val.').set_index('index')
df
Out[1]:
Country Val.
index
AT_CPA_A02 BE 0.0706
BE_CPA_A02 BE 38.8601
BG_CPA_A02 BE 0.0000
AT_CPA_A02 BG 0.0000
BE_CPA_A02 BG 0.0001
BG_CPA_A02 BG 95.2664
AT_CPA_A02 CZ 0.3879
BE_CPA_A02 CZ 0.0233
BG_CPA_A02 CZ 0.0000

关于python - 堆栈数据框(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64278449/

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