Неизвестный код формата 'f' для объекта типа 'str'- Folium - PullRequest
0 голосов
/ 11 октября 2018

У меня есть фрейм данных, который выглядит следующим образом

    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

Я пытаюсь создать карту фолиума для этого фрейма данных, я хотел, чтобы столбец Number значений отображался внекоторый цвет, основанный на значениях столбца Names со следующим кодом, в основном я хочу, чтобы число от 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'

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 11 октября 2018

Код формата f в "{:.0f}".format(Number) для средства форматирования строк Python требует плавающего числа, и все же вы передаете ему переменную Number, которая получается из dsa['Number'], строковое значение изdataframe.Вы должны преобразовать Number в плавающее число, прежде чем передавать его в средство форматирования с помощью "{:.0f}".format(float(Number)).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...