【发布时间】:2020-10-19 20:15:13
【问题描述】:
我有一个简单的 DataFrame,其中包含不同年份、地区和国家/地区的人口数据:
df = pd.DataFrame({'country': ['one', 'one', 'one', 'two', 'two',
'two'],
'region': ['A', 'B', 'C', 'D', 'E', 'C'],
'population 2015': [10, 20, 30, 40, 50, 90],
'population 2016': [100, 200, 300, 400, 500, 900]})
我如下旋转 DataFrame,将其转换为特定结构:
df1 = df.pivot(index='region', columns='country', values=['population 2015', 'population 2016']).fillna(0)
df1
现在,我正在努力计算每个地区每年的总人口。我想以一种有效且可概括的方式做到这一点,例如不使用循环。但也许通过使用 .apply() 和 .sum() 方法,或者使用 lambda 函数。
输出应该类似于:
df = pd.DataFrame({'region': ['A', 'B', 'C', 'D', 'E'],
'population 2015': [10, 20, 120, 40, 50],
'population 2016': [100, 200, 1200, 400, 500]})
非常感谢您提前提供的帮助!
【问题讨论】:
标签: python pandas dataframe pivot apply