gpt4 book ai didi

python - Pandas 数据框使用列作为行(融化)

转载 作者:行者123 更新时间:2023-11-28 22:13:21 28 4
gpt4 key购买 nike

我知道,这个问题已经被问过好几次了,但我没有设法根据已经问过的问题构建我的解决方案。

DF 我有:

id| country  |  series name   | 2015 | 2016 | 2017
--+----------+----------------+------+------+------
0 | saudi | fertility rate | 1 | 2 | 2 |
1 | saudi | CO2 emissions | 5 | 10 | 15 |
2 | pakistan | fertility rate | 1 | 2 | 1 |
3 | pakistan | CO2 emissions | NaN | NaN | NaN |

我想要的DF:

id| country  | year | fertility rate | CO2 emissions 
--+----------+------+----------------+---------
0 | saudi | 2015 | 1 | 5
1 | saudi | 2016 | 2 | 10
2 | saudi | 2017 | 2 | 15
3 | pakistan | 2015 | 1 | NaN
4 | pakistan | 2016 | 2 | NaN
5 | pakistan | 2017 | 1 | NaN

我尝试了多种不同的熔体配置,但不知何故我无法解决这个问题。

最佳答案

IIUC melt + 数据透视表。此答案假定 id 是您的索引。如果不是,则将其丢弃,因为计算中不需要它。


d = df.melt(id_vars=["country", "series name"], var_name="year")

d.pivot_table(
index=["country", "year"], columns="series name", values="value"
).reset_index()

series name   country  year  CO2 emissions  fertility rate
0 pakistan 2015 NaN 1.0
1 pakistan 2016 NaN 2.0
2 pakistan 2017 NaN 1.0
3 saudi 2015 5.0 1.0
4 saudi 2016 10.0 2.0
5 saudi 2017 15.0 2.0

关于python - Pandas 数据框使用列作为行(融化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54041992/

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