我正在尝试创建一个视觉效果来显示多年来国家明智的 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 库可以建议,那么欢迎。