检查数据帧中多个列上的最新值

2024-05-17 09:54:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用下面的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')

谢谢你的帮助。如果您需要更多信息,请告诉我


Tags: 数据importpandasdfgetasnanyear