Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 为什么Python Choropleth贴图不显示颜色?_Python 3.x_Folium_Choropleth - Fatal编程技术网

Python 3.x 为什么Python Choropleth贴图不显示颜色?

Python 3.x 为什么Python Choropleth贴图不显示颜色?,python-3.x,folium,choropleth,Python 3.x,Folium,Choropleth,我想使用Folium库在Python中创建一个Choropleth映射 这是数据集: df_新国家2 审核人国家/地区计数原始数字百分比 0希腊1913352 0.056981 1比利时3385991 0.056418 2德国429 7843 0.054698 使用的Json文件如下所示: 这是我使用的代码: 绿叶 geo_数据= 世界地图 地图正在显示,但一切都是黑色的,颜色没有显示 有人知道问题是什么吗?提前感谢您的时间。您可以尝试: import pandas as pd import f

我想使用Folium库在Python中创建一个Choropleth映射

这是数据集:

df_新国家2

审核人国家/地区计数原始数字百分比

0希腊1913352 0.056981

1比利时3385991 0.056418

2德国429 7843 0.054698

使用的Json文件如下所示:

这是我使用的代码:

绿叶 geo_数据=

世界地图

地图正在显示,但一切都是黑色的,颜色没有显示

有人知道问题是什么吗?提前感谢您的时间。

您可以尝试:

import pandas as pd
import folium

# create dataframe
df_new_count2 = pd.DataFrame([['Greece', 0.056981], ['Belgium', 0.056418], ['Germany', 0.054698]], columns=['Reviewer Country','Percentage'])
df_new_count2

# plot map
world_map = folium.Map(location=[40, 0], zoom_start=1.5)
folium.Choropleth(geo_data='https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/world_countries.json', name='choropleth',
    data=df_new_count2,
    columns=['Reviewer Country','Percentage'],
    key_on='feature.properties.name',
    fill_color='YlOrRd',
    fill_opacity=0.7,
    line_opacity=0.2,
    legend_name='Percentage of people'
).add_to(world_map)
folium.LayerControl().add_to(world_map)
world_map
结果:

它仅对数据框中可用数据的国家/地区进行着色。
您能验证您的数据框是否包含所选国家的数据吗?

请在问题中以文本形式包含任何代码和数据,而不是通过链接到屏幕截图。完成,但我认为以前更清晰了…谢谢您的回答。不幸的是,它没有改变任何东西……数据集来自Kaggle,我用pandas来读取它。我只想过滤'Original Number'大于2000的行,所以我使用了以下代码:df_new_count2=df_new_count[df_new_count['Original Number']>2000],这是创建地图之前的最后一条指令……我刚刚更新了m答案。地图仅对数据框中可用数据的国家进行着色。你能验证你的数据框是否包含所选国家的数据吗?嗨,Rene,我知道为什么它不起作用了。所有包含国家名称的字符串都有空格,因此我必须对其进行修剪。非常感谢您的时间和合作!
    name='choropleth',

    data=df_new_count2,

    columns=['Reviewer Country','Percentage'],

    key_on='feature.properties.name',

    fill_color='YlOrRd',

    fill_opacity=0.7,

    line_opacity=0.2,

    legend_name='Percentage of people'
).add_to(world_map)

folium.LayerControl().add_to(world_map)
import pandas as pd
import folium

# create dataframe
df_new_count2 = pd.DataFrame([['Greece', 0.056981], ['Belgium', 0.056418], ['Germany', 0.054698]], columns=['Reviewer Country','Percentage'])
df_new_count2

# plot map
world_map = folium.Map(location=[40, 0], zoom_start=1.5)
folium.Choropleth(geo_data='https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/world_countries.json', name='choropleth',
    data=df_new_count2,
    columns=['Reviewer Country','Percentage'],
    key_on='feature.properties.name',
    fill_color='YlOrRd',
    fill_opacity=0.7,
    line_opacity=0.2,
    legend_name='Percentage of people'
).add_to(world_map)
folium.LayerControl().add_to(world_map)
world_map