'str'- Folium 类型对象的未知格式代码 'f'
Unknown format code 'f' for object of type 'str'- Folium
我有一个如下所示的数据框
Number Names latitude longitude
0 1 Josh 25.713277 80.746531
1 2 Jon 25.713277 80.746531
2 3 Adam 25.713277 80.746531
3 4 Barsa 25.713277 80.746531
4 5 Fekse 25.713277 80.746531
5 6 Bravo 25.713277 80.746531
6 7 Levine 25.713277 80.746531
7 8 Talyo 25.713277 80.746531
8 9 Syden 25.713277 80.746531
9 10 Zidane 25.713277 80.746531
我正在尝试为这个数据框创建一个 folium 地图,我想要 Number
column values 根据 Names
column 的值使用以下代码以某种颜色显示,基本上我想要数字 1 到 10 根据名称以某种颜色显示一个地方。例如,1
应显示为 lightblue
,2
应显示为 green
颜色,其余数字应显示为 red
颜色
for Number,Names,latitude,longitude in zip(dsa['Number'],dsa['Names'],dsa['latitude'],dsa['longitude']):
folium.Marker(location=[latitude,longitude],
icon=folium.DivIcon(
html=f"""<div style="font-family: courier new; color: {'lightblue' if Names == 'Josh' else 'green' if Names == 'Jon' else 'red'}">{"{:.0f}".format(Number)}</div>""")
).add_to(m)
m.save(os.path.join('color_popups1231.html'))
但是当我执行此操作时出现此错误:
ValueError: Unknown format code 'f' for object of type 'str'
我在这里错过了什么?
"{:.0f}".format(Number)
中 Python 字符串格式化程序的 f
格式代码需要一个浮点数,但您向它传递了变量 Number
,它派生自 dsa['Number']
,一个来自数据帧的字符串值。您应该先将 Number
转换为浮点数,然后再使用 "{:.0f}".format(float(Number))
将其传递给格式化程序。
我有一个如下所示的数据框
Number Names latitude longitude
0 1 Josh 25.713277 80.746531
1 2 Jon 25.713277 80.746531
2 3 Adam 25.713277 80.746531
3 4 Barsa 25.713277 80.746531
4 5 Fekse 25.713277 80.746531
5 6 Bravo 25.713277 80.746531
6 7 Levine 25.713277 80.746531
7 8 Talyo 25.713277 80.746531
8 9 Syden 25.713277 80.746531
9 10 Zidane 25.713277 80.746531
我正在尝试为这个数据框创建一个 folium 地图,我想要 Number
column values 根据 Names
column 的值使用以下代码以某种颜色显示,基本上我想要数字 1 到 10 根据名称以某种颜色显示一个地方。例如,1
应显示为 lightblue
,2
应显示为 green
颜色,其余数字应显示为 red
颜色
for Number,Names,latitude,longitude in zip(dsa['Number'],dsa['Names'],dsa['latitude'],dsa['longitude']):
folium.Marker(location=[latitude,longitude],
icon=folium.DivIcon(
html=f"""<div style="font-family: courier new; color: {'lightblue' if Names == 'Josh' else 'green' if Names == 'Jon' else 'red'}">{"{:.0f}".format(Number)}</div>""")
).add_to(m)
m.save(os.path.join('color_popups1231.html'))
但是当我执行此操作时出现此错误:
ValueError: Unknown format code 'f' for object of type 'str'
我在这里错过了什么?
"{:.0f}".format(Number)
中 Python 字符串格式化程序的 f
格式代码需要一个浮点数,但您向它传递了变量 Number
,它派生自 dsa['Number']
,一个来自数据帧的字符串值。您应该先将 Number
转换为浮点数,然后再使用 "{:.0f}".format(float(Number))
将其传递给格式化程序。