Dataset image
请帮助,我有一个数据集,其中有列Country,Gas和Year从2019到1991。还附加了数据集的快照。我想回答一个问题,我想添加一个国家列的所有值明智?例如,对于阿富汗,2019年的值应该是56.4(加上28.79 + 6.23 + 16.37 + 5.01 = 56.4)。现在我希望它应该计算每年的结果。我已经使用下面的代码实现2019年的数据。
df.groupby(by='Country')['2019'].sum()
下面是该代码的输出:
Country
---------------------
Afghanistan 56.40
Albania 17.31
Algeria 558.67
Andorra 1.18
Angola 256.10
...
Venezuela 588.72
Vietnam 868.40
Yemen 50.05
Zambia 182.08
Zimbabwe 235.06
我已经按国家/地区对数据进行了分组,并添加了2019年的列值,但如何在单行代码中添加其他年份的值呢?
请帮帮忙。
我可以做这里显示的代码,添加行和显示多个列像这样,但这将是乏味的任务,所以写每个列的名称。
df.groupby(by='Country')[['2019','2018','2017']].sum()
2条答案
按热度按时间rqqzpn5f1#
如果不指定列,它将对所有数值列求和。
执行
reset_index()
以展平列ddarikpa2#
您可以在 Dataframe 中选择列键,从列
2019
开始,直到最后一个列键,方法如下:方法
df.keys
将返回列表中的所有 Dataframe 列键,然后您可以从2019
键的索引(即2
)开始对其进行切片,直到列键结束。假设您要选取从
2016
到1992
的数据行:您只需要按照正确的索引顺序对列键列表进行切片。