[英]ValueError: Unknown format code 'f' for object of type 'str'
[英]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
我正在嘗試為此數據幀創建一個葉形貼圖,我希望使用以下代碼基於“ Names
列的值以某種顏色顯示“ Number
列值 ,基本上我希望以某種顏色顯示數字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'
我在這里想念什么?
Python字符串格式化程序的"{:.0f}".format(Number)
的f
格式代碼需要一個浮點數,但是您要向其傳遞變量Number
,該變量是從dsa['Number']
派生的,數據幀中的字符串值。 您應先將Number
轉換為浮點數,然后再使用"{:.0f}".format(float(Number))
將其傳遞給格式化程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.