0

我正在尝试创建一个视觉效果来显示多年来国家明智的 GDP。我的数据框包含从 1980 年到 2013 年的数据。这里有一个小的(虚构的)样本:

Country|1980 YR1980|1981 YR1981|1982 YR 1982|...
     A | 1         |  -        |   2        |...
     B | -         |  1        |   2.5      |...
     c | -         |  0.433    |   4.7      |...

import plotly.express as px
#!pip install pycountry
import pycountry

list_countries = df['Country'].unique().tolist()
d_country_code = {}  # To hold the country names and their ISO
for country in list_countries:
    try:
        country_data = pycountry.countries.search_fuzzy(country)
        # country_data is a list of objects of class pycountry.db.Country
        # The first item  ie at index 0 of list is best fit
        # object of class Country have an alpha_3 attribute
        country_code = country_data[0].alpha_3
        d_country_code.update({country: country_code})
    except:
        print('could not add ISO 3 code for ->', country)
        # If could not find country, make ISO code ' '
        d_country_code.update({country: ' '})
for k, v in d_country_code.items():
    df.loc[(df.Country == k), 'iso_alpha'] = v

fig = px.choropleth(data_frame = df,
                    locations= "iso_alpha",
                    color= "1980",  # value in column 'Confirmed' determines color
                    hover_name= "Country",
                    color_continuous_scale= 'RdYlGn',  #  color scale red, yellow green
                    #animation_frame= "df.iloc()"
                    )

fig.show()

当我使用上面的这个代码块时,我可以可视化 1980 年的数据,但我想设置动画框架,以便我可以每 5 年可视化多年的数据。颜色由特定年份列中的 GDP 设置。

我怎样才能实现我的目标。

我是否需要列出从 1980 年到 2013 年的列并通过它们?

谁能帮帮我吗?另外 - 如果有人有任何其他 python 库可以建议,那么欢迎。

4

0 回答 0