どうも405です。今日のPython 初心者ブログ⑧回目になります。今日は昨日の復習をメインに勉強していました。オープンデータの楽しさを学ぶことが出来ているなと思いました。
さて、タイトルのアップデートのお知らせなのですが、今使っている携帯の事です。あんな簡単に自分もアップデートしたいものです。
本屋行って立ち読みしているときが多いのですが、Pythonの本見て書いているコードが少しずつ分かってきました🙋
2月から勉強し始めて慣れてきたのか、少し成長してるじゃんっ。と、アップデートしてきた自分がおります。
今のところ大型アップデートの予定はございません。
ご安心ください(泣)
今日のPython
ここからはいつも通り今日習った事のメモ書きです。
NaN(欠損値):
CSV読み込み時に 入力の無い項目は 戻り値がNaNとなる
欠損(入力が無い)があると集計しずらい
NaN =(Not a Number)
DataFrameの行や列について欠損値を判定する
pandas.dataframeのisnull()
を利用して表データの欠損値を判定
表データ全体や 行・列について判定できる
☆重要
DataFrameの欠損値を別のデータに置換する
表データの欠損値を別の値に置き換える
df.fillna(置き換えたい値)
オープンデータのCSVファイルを読み込む際、データの不備というか漏れで集計しずらいのを
df.fillnaを使うと全てに対応するので便利すぎる。
例ーーーーーーーーーーーーーーーー
欠損値全てに値を入れる。今回は空白
df = df.fillna(“”)
ーーーーーーーーーーーーーーーーー
例2ーーーーーーーーーーーーーーーー
import pandas as pd
import folium
import jaconv
df = pd.read_csv(“898.csv”)
store = df[[“緯度”,”経度”,”店舗名(日本語)”,”電話番号”,”webサイト”]].values#リスト化
m = folium.Map(location=[35.956477,136.184073],zoom_start=16)
for data in store:
#電話番号について欠損値かどうか判定 nanの場合はTrue=欠損★ポイント(data[3])はtelなので変数(tel)と記述するとわかりやすい
if pd.isnull(data[3]):
tel = ""
else:
tel = jaconv.z2h(str(data[3]),digit=True,ascii=True)
#webサイトについて欠損値かどうか判定 nanの場合はTrue=欠損★ポイント(data[4])はwebなので変数(tel)と記述するとわかりやすい
if pd.isnull(data[4]):
web = ""
else:
web = data[4]
folium.Marker([data[0],data[1]],tooltip=(data[2],tel,web)).add_to(m)#マーカーの値=(data[2],tel,web)= (data[2]data[3],data[4])
m.save(“store_web1.html”)
ーーーーーーーーーーーーーーーーーこれが↓赤いラインを入れるだけでコードが短くなる
import pandas as pd
import folium
import jaconv
df = pd.read_csv(“898.csv”)
欠損値全てに値を入れる今回は空白
df = df.fillna(“”)
リスト化
store = df[[“緯度”,”経度”,”店舗名(日本語)”,”電話番号”,”webサイト”]].values
地図を作る
m = folium.Map(location=[35.956477,136.184073],zoom_start=16)
for data in store:
tel = jaconv.z2h(str(data[3]),digit=True,ascii=True)#全角を半角に
folium.Marker([data[0],data[1]],tooltip=(data[2],tel,data[4])).add_to(m)#マーカーの値tooltip=(data[2],tel,data[4])
m.save(“store_web2_fillna.html”)
知れば知るほど、難しいし面白い。
おまけ
昨日の失敗の事を引きずってか今日は予定の半分も勉強出来ませんでした。切り替えるために、今日は本屋はしごして、興味ありそうなもの片っ端から気が済むまで立ち読みしていました(買え)
その中の一冊に書いてあった言葉なのですが、「1日の最後にささやかな幸せを添えよう」という言葉が気になりました。とにかくなんでもいいので自分のことばで一言添えようと思いました。
「湯船につかりながら、100数える」
今日はこのへんで以上です。
また明日。
コメント