2017-09-14 7 views
1

私はフォリアムを使い慣れていません。私はデータフレームから必要なマップを作成することができました。フォルウムポップアップに構文エラーメッセージが表示される

df_map = folium.Map(location=[37.750999450684, -97.821998596191], zoom_start=4) 

for each in df[0:len(df)].iterrows(): 
    folium.CircleMarker(location=[each[1]["GEO_LAT_0"], each[1]["GEO_LNG_0"]], 
        radius=5.0, color='#3186cc', fill_color='#3186cc').add_to(df_map) 

地図がうまく出てきます。

次のように、データフレームの3番目の列からポップアップを追加したかったので、構文が正しく表示されないようです。私がどのようにしてfoliumのドキュメントからこれらのポップアップを追加するかはっきりしない。私はこのコードの結果を解釈することはできませんエラーメッセージ:私のループとデータフレームを確認するには

df_map = folium.Map(location=[37.750999450684, -97.821998596191], zoom_start=4) 

for each in df[0:len(df)].iterrows(): 
    folium.CircleMarker(location=[each[1]["GEO_LAT_0"], each[1]["GEO_LNG_0"]], 
        **popup=each[1]["GEO_CITY_0"],** 
        radius=5.0, color='#3186cc',fill_color='#3186cc').add_to(df_map) 

はOKだった、私がfor-eachループの代わりに、folium.circlemarker内

print each[1]["GEO_CITY_0"] 

を置換しましたそれはうまくいった。上記のポップアップ構文を使用すると何かが間違っています。

AttributeError: 'float' object has no attribute 'get_name' 

あなたのお手伝いがあります。おかげさまで完全なメッセージは次のとおりです。

トレースバック(最後の最新の呼び出し):

ファイル ""、行4、= 1、カラー= '#の3186cc'、fill_color = '#の3186cc')add_to 半径(。 df_map)

ファイル "C:\ Users \ユーザーピーター\ Anaconda3 \ libには\サイト - パッケージ\ folium \ features.py" のinit スーパー(CircleMarker、自己)で、ライン870を、。 のinit(場所=場所、ポップアップ=ポップアップ)

ファイル "C:\ Users \ユーザーピーター\ Anaconda3 \ libには\サイト - パッケージ\ folium \ map.py" のinit 自己中、ライン652、。 add_child(ポップアップ)

ファイル "C:\ Users \ユーザーピーター\ Anaconda3 \ libには\サイト - パッケージはブランカの\ element.py \"(add_child 名= child.get_nameに、ライン96を)

はAttributeError : 'float'オブジェクトに 'get_name'という属性はありません

+0

こんにちは、どのようなバージョンのfoliumを使用していますか?このエラーは、以前のバージョンのFoliumでは予期されると思います。だから、おそらくアップグレードするか、代わりにこれを行うことができます。 'popup = folium.Popup(各[1] [" GEO_CITY_0 "])' –

+0

この[issue](https://github.com/python-visualization/folium/issues/259)では、後で問題とその変更が説明されていますバージョン –

+0

こんにちはボブ - 優れています。ご意見ありがとうございます。私はバージョン0.4.0を持っています。私はこのパッケージがわずか2〜3日前にバージョン0.5.0にアップデートされたのを見ました。あなたの構文は私が必要なものです。とても有難い。私はスタックオーバーフローの問題をクローズする方法はわかりません - 私は見て回ります - しかし、これは閉じています。ありがとう – pzajonc

答えて

1

私はundeでした@ pzajoncの構文がpopup=each[1]["GEO_CITY_0"]であるという印象は、最近のバージョン(OPのものは0.4.0)の麻痺でうまくいくという印象。

はここpopup=folium.Popup(each[1]["GEO_CITY_0"])にそれを変更し、エラーとは関係なくfix

に言及しているgithubのissueだ問題を解決します。

+0

私はこの答えを受け入れます。 Bobに感謝します。私の文法ポップアップ=それぞれが正しいと思っていました。それはあなたのために働いて面白いですが、代わりの構文popup = Folium.popup(それぞれ)私の問題を解決する - 私はPythonの下でWindows 10で動作している3.6 – pzajonc

+0

HI pzajonc、ちょうど私の答えの左側にあるチェックマークをクリックしてください –

関連する問題