属性错误:'list'对象没有属性'rgb2hex'。

问题描述 投票:0回答:1

我得到了错误的*" AttributeError: 'list' object has no attribute 'rgb2hex'" 当我试图为我的数据应用Kmeans聚类,并试图用folium映射聚类时*。

map_clusters = folium.Map(location=[latitude, longitude], zoom_start=11)

# set color scheme for the clusters
x = np.arange(kclusters)
ys = [i + x + (i*x)**2 for i in range(kclusters)]
colors_array = cm.rainbow(np.linspace(0, 1, len(ys)))
rainbow = [colors.rgb2hex(i) for i in colors_array]

# add markers to the map
markers_colors = []
for lat, lon, poi, cluster in zip(banglore_merged['latitude'], banglore_merged['longitude'], banglore_merged['location'], banglore_merged['Cluster Labels']):
    label = folium.Popup(str(poi) + ' Cluster ' + str(cluster), parse_html=True)
    folium.CircleMarker(
        [lat, lon],
        radius=5,
        popup=label,
        color=rainbow[int(cluster)-1],
        fill=True,
        fill_color=rainbow[int(cluster)-1],
        fill_opacity=0.7).add_to(map_clusters)

map_clusters

错误。

    ---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-50-8e09b66c0be6> in <module>
      6 ys = [i + x + (i*x)**2 for i in range(kclusters)]
      7 colors_array = cm.rainbow(np.linspace(0, 1, len(ys)))
----> 8 rainbow = [colors.rgb2hex(i) for i in colors_array]
      9 
     10 # add markers to the map

<ipython-input-50-8e09b66c0be6> in <listcomp>(.0)
      6 ys = [i + x + (i*x)**2 for i in range(kclusters)]
      7 colors_array = cm.rainbow(np.linspace(0, 1, len(ys)))
----> 8 rainbow = [colors.rgb2hex(i) for i in colors_array]
      9 
     10 # add markers to the map

AttributeError: 'list' object has no attribute 'rgb2hex'

我希望你能找到我的疑问的答案。先谢谢你

data-visualization data-analysis folium
1个回答
1
投票

我猜你是把一个空的数据集传给了变量,请更改名称。

rainbow = [colors.rgb2hex(i) for i in colors_array]
© www.soinside.com 2019 - 2024. All rights reserved.