我试图使用下面的dataframe重新创建一个数据集,每个国家/地区只有一行数据,在这里我获取每个列的最新可用值。如果2019年有可用数据,我会保留它,如果没有,我会继续到2018年,以此类推。作为Python和编码的新手,我一直试图找到一个起点,但我一直在努力,因为到目前为止我发现的任何解决方案似乎都不起作用
Population totale PIB en $ Superficie
country year
Aruba 2019 106314.0 NaN NaN
2018 105845.0 NaN 180.0
2017 105366.0 2.805918e+09 180.0
2016 104872.0 2.750900e+09 180.0
2015 104341.0 2.694320e+09 180.0
Afghanistan 2019 38041754.0 2.173959e+10 NaN
2018 37172386.0 2.112666e+10 652860.0
2017 36296400.0 2.074494e+10 652860.0
2016 35383128.0 2.020638e+10 652860.0
2015 34413603.0 1.975974e+10 652860.0
Angola 2019 31825295.0 9.876968e+10 NaN
2018 30809762.0 9.963591e+10 1246700.0
强调文本
她的是代码的一部分,我去掉了一些函数以使其更易于阅读,我希望这不会阻止人们理解它。
import pandas_datareader.wb as pdr
import pandas as pd
get_wb_countries = pdr.get_countries()
wb_countries = list(get_wb_countries['iso2c'])
#wbank_ind defined as series of codes from wb
df_wb = wb.download(indicator=wbank_ind,country=wb_countries,start=2015,end=2020)
# This is what I tried up to now to fetch most recent value :
sorted = df_wb.sort_values(by='year')
result = sorted.drop_duplicates('country', keep='last')
# I get an error message KeyError: Index(['country'], dtype='object')
谢谢你的帮助。如果您需要更多信息,请告诉我
目前没有回答
相关问题 更多 >
编程相关推荐