Choropleth-系列的真值不明确

问题描述

几个月前,我才开始使用python进行编码,并且经常使用该论坛来寻求帮助,但是在处理和绘制系列图时遇到了无法解决的问题。我相信我知道错误发生在哪里,但无法提出解决方案。

请在下面查看我的代码

    import geopandas as gpd,folium,pandas as pd,fiona,branca
    zipcode_data = pd.read_excel("we2001c_Test.xlsx")

    gdf = gpd.read_file("US_zipcodes.json")    # read Zipcode json
    gdf['ZCTA5CE10'] = gdf['ZCTA5CE10'].astype(int) # define zipcode in json as type integer

   gdf1 = gdf.merge(zipcode_data,left_on=['ZCTA5CE10'],right_on=['Zip Code'],how='left')
   gdf1.crs = fiona.crs.from_epsg(4326)

   gdf1.dropna(subset=['1-unit Units'],inplace = True)

   colorscale1 = branca.colormap.linear.PuRd_09.scale(0,500)
   colorscale1.caption = "1 Unit"

   dict1 = gdf1.set_index('Zip Code')['1-unit Units']

 def style_function1(x):
     permits = dict1.get((x['properties']['Zip Code']))
     return {
       'fillOpacity': 0.8,'weight': 1,'fillColor': '#black' if permits is None else colorscale1(permits)
       }

   # Create Map
   centroid=gdf1.geometry.centroid
   map1 = folium.Map(location=[centroid.y.mean(),centroid.x.mean()],zoom_start=5)

   # Create 1 Unt Map
   one_unit_map = folium.GeoJson(gdf1,name='1 Unit Quantity',style_function = style_function1,highlight_function=lambda x: {'weight':3,'color':'black'},show = False,overlay=True,).add_to(map1)

我得到的错误是: ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

经过大量在线研究,我相信问题出在'fillColor':'#black'(如果允许的话)是colorscale1(允许)。我知道使用“ or”和“ and”参数并尝试将所需的所有内容转换为整数时会发生这种情况。我也尝试过手动进入excel文件删除除30行以外的所有内容,以查看数据是否是问题,仅列举一些我尝试过的修复程序。

如果有人可以提供以下帮助,将不胜感激:

  1. 我是否正确假设是颜色函数引起了错误
  2. 如何解决该问题?如果“ permits = None”只是空白而不是黑色,我可以,但是如果fillcolor行不是问题,我该如何解决
  3. 在处理此类转换时,是否会经常出现这种类型的错误?如果可以,我是否可以操纵数据文件本身来解决问题?

如果有人知道如何解决该问题,将不胜感激。谢谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)