pandas数据框:如何计算初始年份(在时间t)的百分比变化]]

问题描述 投票:0回答:1

我具有以下数据框(df):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import pickle
import matplotlib as mpl

sns.set()

df = pd.DataFrame({ 

    # some ways to create random data
    'scenario':np.random.choice( ['BAU','ETS','ESD'], 27),
    'region':np.random.choice( ['Italy','France'], 27),
    'variable':np.random.choice( ['GDP','GHG'], 27),
    # some ways to create systematic groups for indexing or groupby
    # this is similar to r's expand.grid(), see note 2 below
    '2015':np.random.randn(27),
    '2016':np.random.randn(27),
    '2017':np.random.randn(27),
    '2018':np.random.randn(27),
    '2019':np.random.randn(27),
    '2020':np.random.randn(27),
    '2021':np.random.randn(27)
    })

df2=pd.melt(df,id_vars=['scenario','region','variable'],var_name='year')
all_names_index = df2.set_index(['scenario','region','variable','year']).sort_index()

如何计算每个变量,方案和地区相对于初始年份(即2015年)的百分比变化?

例如:

2016=(2016-2015)/2015
2017=(2017-2015)/2015
...
2021=(2021-2015)/2015
    

我有以下数据框(df):以NP形式导入numpy,以pd形式导入大熊猫,以plt形式导入matplotlib.pyplot,以sns形式导入seaborn,以sns形式导入咸菜,以mpl sns.set()d来导入matplotlib,df = pd.DataFrame({...

python pandas percentage
1个回答
0
投票

您可以使用pct_change()尝试一下,我正在对同一年的值求和:

© www.soinside.com 2019 - 2024. All rights reserved.