folium使用時にvalueerror: location should consist of two numerical values, but ‘,’ of type is not convertible to float.が出たときの対処法

valueerror: location should consist of two numerical values~

foliumを使用している際にvalueerror: location should consist of two numerical values~というエラーが発生。

詳細は以下のエラー文。

valueerror: location should consist of two numerical values, but ',133.69081' of type <class 'str'> is not convertible to float.

folatになるべき経度の値がどこかしらでstrになっちゃってる?と思い型変換とかしてみても他のエラーがまた増えるだけ・・。

原因・解決

エラー文をよく見ると,133.69081と書かれていました。

数値の前についてるカンマが原因で文字列と認識されていたようでした。

今回csv形式のオープンデータを読み込んでマッピングしていたため、元データに不備があっても以下のような形でマッピングしていたため全然気づかなかった()

for index, r in X.iterrows():
    folium.Marker([r.経度, r.緯度],
  popup='<div id="q"><strong><h3><a href="https://maps.google.co.jp/maps?q=%s"><font size="4" color="#0000FF">%s</font></a></h3></strong><hr><p>医療機関の種類: %s</p><p>電話番号: <a href="%s">%s</a></p><p>住所: <a href="https://maps.google.co.jp/maps?q=%s">%s</a></p></div> '% (r.名称,r.名称,r.小分類,r.TEL,r.TEL,r.住所,r.住所),
  icon=folium.Icon(color='red', icon='plus-sign')).add_to(marker_cluster)

成型済みのオープンデータを使用している場合でも不備がある場合があるので、オープンデータを使用する際も注意していくべきですね・・。