0

我有一个数据框,它是一个更长的版本:

当前数据框

从这里我一直试图把它变成这样:

所需的数据框

我尝试使用它创建一个字典,但是在重新合并它以创建所需的数据框时遇到了问题。

老实说,我确信这很简单,我只是想念它,任何帮助都将不胜感激。我试图将数据作为文本发布,但遇到了问题,这完全无关紧要,我只是对如何以所需的方式转换数据感到困惑。

再次感谢你!

{1: {'Country': 'England', 'Subject Descriptor': 'Real GDP', '2011': '8,248.62', '2012': '8,835.39', '2013': '9,478.98', '2014': '10,224.38', '2015': '11,057.94', '2016': '11,477.97', nan: nan}, 2: {'Country': 'England', 'Subject Descriptor': 'Nom GDP', '2011': '15,158.02', '2012': '17,328.64', '2013': '19,758.15', '2014': '22,504.79', '2015': '25,424.83', '2016': '27,749.64', nan: nan}, 3: {'Country': 'England', 'Subject Descriptor': 'GDP defl', '2011': '183.764', '2012': '196.128', '2013': '208.442', '2014': '220.109', '2015': '229.924', '2016': '241.764', nan: nan}, 4: {'Country': 'Italy', 'Subject Descriptor': 'Real GDP', '2011': '56.524', '2012': '60.712', '2013': '64.55', '2014': '67.025', '2015': '69.893', '2016': '69.322', nan: nan}, 5: {'Country': 'Italy', 'Subject Descriptor': 'Nom GDP', '2011': '122.5', '2012': '136.911', '2013': '152.39', '2014': '163.456', '2015': '172.759', '2016': '178.37', nan: nan}, 6: {'Country': 'Italy', 'Subject Descriptor': 'GDP defl', '2011': '216.722', '2012': '225.509', '2013': '236.082', '2014': '243.873', '2015': '247.176', '2016': '257.306', nan: nan}}
4

1 回答 1

0

在这种情况下,我认为转置对你的帮助最大。这是此功能的简单用法:

import pandas as pd
import numpy as np

data = {"Country": ["Subject", "2010", "2011", "2012", "2013", "2014"], "England": [
    "Norm GDP", "8,248.62", "8,835.39", "8,248.62", "8,835.39", "8,248.62"]}
df = pd.DataFrame(data)
print(df)
df_t = df.transpose()
print(df_t)

输入:

   Country   England
0  Subject  Norm GDP
1     2010  8,248.62
2     2011  8,835.39
3     2012  8,248.62
4     2013  8,835.39
5     2014  8,248.62

输出:

                0         1         2         3         4         5
Country   Subject      2010      2011      2012      2013      2014
England  Norm GDP  8,248.62  8,835.39  8,248.62  8,835.39  8,248.62

您可以简单地忽略我使用的虚拟数据。最重要的是函数转置。它是一种可以应用于矩阵的数学技术。

PS:下次发布问题时,尝试以文本(而不是图像)的形式提供数据集,这样其他人可以更容易地测试他们的代码,并且您可能会更快地获得帮助。

于 2021-07-27T20:48:30.823 回答