gpt4 book ai didi

python - Pandas 数据框 : turn date in column into value in row

转载 作者:太空宇宙 更新时间:2023-11-04 00:59:05 25 4
gpt4 key购买 nike

我正在尝试转换以下数据框(包含县和年份的值)

county  region     2012  2013  ...  2035
A 101 10 15 ... 7
B 101 13 8 ... 11
...

进入如下所示的数据框:

county  region   year  sum
A 101 2012 10
A 101 2013 15
... ... ... ...
A 101 2035 7
B 101 2012 13
B 101 2013 8
B 101 2035 11

我当前的数据框有 400 行(不同的县),其中包含 2012-2035 年的值。

我的手动方法是将年份列切掉,并将每一列都放在前一年的最后一行下面。但当然必须有一种 pythonic 方式。

我想我在这里遗漏了一个基本的 pandas 概念,可能我只是找不到这个问题的正确答案,因为我根本不知道如何提出正确的问题。请温柔对待新人。

最佳答案

您可以使用来自 pandas 的 melt:

In [26]: df
Out[26]:
county region 2012 2013
0 A 101 10 15
1 B 101 13 8

In [27]: pd.melt(df, id_vars=['county','region'], var_name='year', value_name='sum')
Out[27]:
county region year sum
0 A 101 2012 10
1 B 101 2012 13
2 A 101 2013 15
3 B 101 2013 8

关于python - Pandas 数据框 : turn date in column into value in row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33648986/

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