乙Py先生のプログラミング教室
初学者のためのプログラミング学習サイト

可視化

最近、やけに地震が多いので
気になって調べて
データを取って可視化してみました。


解説動画はこちら


 
今回のコードは
気象庁の地震データを取得して
そのデータを可視化するコードです。

先にデータが必要になるので
気になった人はコードを実行してみて下さい。

Jupyter Notebook や Google Colab で
実行できると思います。


地震データを取得する



気象庁から地震の観測データを取得して
データフレームにします。

やりたい人は、30分くらいかかるので
気をつけてやって下さい。

リンクを取得
import re
import time
import pandas as pd
import requests
from tqdm import tqdm
from bs4 import BeautifulSoup

domain = "https://www.data.jma.go.jp/"
index_url = "https://www.data.jma.go.jp/svd/eqev/data/daily_map/index.html"
res = requests.get(index_url)
soup = BeautifulSoup(res.content, "html.parser")
eq_link = [i.get("href") for i in soup.find_all("a") if len(i.get("href"))==13]
print(len(eq_link))

リンクからデータを取得する
# 地震データをテキストから取得
def data_pick(text):
    row_data = []
    for row in [i for i in text.split("\n") if len(i)>1][2:]:
        row = row.replace("° ","°")
        for i in range(7,1,-1):
            row = row.replace(" "*i, " ")
        row = row.replace(":"," ")
        tmp = row.split(" ")
        row_data.append(tmp[:-1])
    return row_data

all_data = []
for day in tqdm(eq_link):
    url = "https://www.data.jma.go.jp/svd/eqev/data/daily_map/" + day
    #print(url)
    res = requests.get(url)
    soup = BeautifulSoup(res.content, "html.parser")
    time.sleep(3.971)
    text_data = soup.pre.text
    all_data += data_pick(text_data)
    #break

print(len(all_data))


データを加工してデータフレームにする
columns=["年","月","日","時","分","秒","緯度","経度","深さ(km)","M","震央地名"]
df = pd.DataFrame(all_data,columns=columns)
df = df[df["M"] != "-"].reset_index(drop=True)
df = df.astype({"M": float , "深さ(km)":int, "年":int,"月":int,"日":int})
df["M2"] = df["M"]//1
df["年月日"] = df.apply(lambda x : "{0}{1:02}{2:02}".format(x["年"],x["月"],x["日"]),axis=1)

def lat_lon_10(x):
    tmp = x.split("°")
    degree = int(tmp[0])
    minute = int(tmp[1].split(".")[0])
    second = int(tmp[1].split(".")[1].split("'")[0])
    # 度、分、秒を10進法で表現
    decimal_degree = degree + minute/60 + second/3600
    return decimal_degree

df["緯度10"] = df["緯度"].map(lat_lon_10)
df["経度10"] = df["経度"].map(lat_lon_10)
df["size"] = df["M2"] ** 3

うまく実行できたら
df という変数にデータが格納されると思います。

エラーが出る人は
ライブラリが足りなかったり
通信がうまくいっていなかったり
色々な事象が起きると思いますが
全部は対応出来ませんので
がんばって解決して下さい。


データを見てみる


データを取得できたら
データを見てみましょう。

変数 df に対して
条件を指定すれば
絞り込みをしてみる事ができます。

マグニチュード別の地震回数
df[["M2","震央地名"]].groupby("M2").count().sort_index(ascending=False)
スクリーンショット 2024-03-02 16.29.41

日本地図にプロットする


日本地図にプロットするには
緯度と経度が必要です。

df 変数にはカラムとして
作成しているので
地図に表示する事ができます。

import plotly.express as px

fig = px.scatter_mapbox(
    data_frame=df[df["M2"]>=5],
    lat="緯度10",
    lon="経度10",
    hover_data=["年月日","深さ(km)"],
    color="M2",
    size="size",
    size_max=20,
    opacity=0.3,
    zoom=4,
    height=700,
    width=1500)

fig.update_layout(mapbox_style='open-street-map')
fig.update_layout(margin={"r": 0, "t": 0, "l": 0, "b": 0})
fig.show()
output_88_0




千葉県だけにすると
こんな感じです。

output_106_0


色々な条件で絞り込んで
地図に反映させる事ができます。

最近は地震が多いので
何かが起きている可能性がありますね。

警戒を強める意味でも
データを見る価値はあるかもしれません。

今回は地震のデータを取得して
それを可視化するコードについてでした。

それでは。


先日結構大きな地震が有ったので
気になってしまいました。

地震のデータを集めてみたので
可視化することにしました。

解説動画はこちら



さて今回参考にしたのは
気象庁のデータです。

地震データベースがあるので
そこからCSVでダウンロードできるようです。

観測当時からのデータがありますが
震度1とかにしてしまうと
データが多すぎて全件は無理そうでした。

今回は震度5弱以上で抽出し
地震リスト.tsvに保存しています。

早速データを読み込みします。
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

data1_path = '地震リスト.tsv'
df1 = pd.read_table(data1_path)

中身はこんな感じになっています。

スクリーンショット 2021-10-09 16.57.00

つい最近までの震度5弱以上の震源地が記載されています。


これを可視化してみます。

可視化にはFoliumを使用します。
これはデータを地図上にプロットして
見やすくしてくれるものです。

マッピングには緯度経度を使用します。
データだと緯度経度の値などが
文字列かつ形式も違うので
そのままではマッピングに適していません。

DMS形式の緯度経度を
Degree形式の緯度経度に直します。

その他数値であるデータもデータ型を直す
前処理を行うコードがこれです。

# 不明データの削除
df1 = df1[~(df1['緯度']=='不明') | ~(df1['経度']=='不明')]
df1 = df1[~(df1['M']=='不明')]
df1 = df1.reset_index(drop = True)

# 震度データの整理
df1['最大震度'][df1['最大震度']=='震度5'] = '震度5弱'
df1['最大震度'][df1['最大震度']=='震度6'] = '震度6弱'

# 数値データの整形
df1['緯度2'] = df1['緯度'].str.replace('′N','').str.replace('°','.').str.split('.')
df1['経度2'] = df1['経度'].str.replace('′E','').str.replace('°','.').str.split('.')
df1['深さ'] = df1['深さ'].str.replace(' km','')

# 緯度経度をDegree形式へ変換
import math
from decimal import Decimal, ROUND_HALF_UP

# DMS形(度分秒)からDegree形式(度)への変換
def dms_to_degree(d):
    h,m,s = int(d[0]),int(d[1]),int(d[1])
    return Decimal(str(h + (m / 60) + (s / 3600))).quantize(Decimal('0.0001'), rounding=ROUND_HALF_UP)
    
# 緯度経度の変換
df1['longitude'] = df1['緯度2'].apply(dms_to_degree)
df1['latitude'] = df1['経度2'].apply(dms_to_degree)

# データ型変換
df1['longitude'] = df1['longitude'].astype('float')
df1['latitude'] = df1['latitude'].astype('float')
df1['M'] = df1['M'].astype('float')
df1['深さ'] = df1['深さ'].astype('int')

これで下処理ができました。
出来上がりはこんな感じです。

スクリーンショット 2021-10-09 16.58.15


早速このデータを使って
Foliumでマッピングしたいと思います。

今回は震度別で色で分けられるように
マッピングしました。

データは前処理したdf1をそのまま使用します。

import folium
from folium.features import CustomIcon
import pandas as pd

# マーカーの指定
def make_maker(r,color):
    rad = r['M'] * 1000
    name = r['地震の発生日'] + ' ' + r['地震の発生時刻'] +' : ' + r['震央地名']
    tmp = folium.Circle(
        location = [r['longitude'],r['latitude']], 
        popup    = name ,
        tooltip  = '{0} , 深さ : {1}km , M{2} , {3}'.format(name,r['深さ'],r['M'],r['最大震度']),
        radius = rad , color     = color , fill = True )
    return tmp
    
plot_map = folium.Map(location=[適当な緯度,適当な経度] ,  zoom_start=5)
s5j_group = folium.FeatureGroup(name="震度5弱").add_to(plot_map)
s5k_group = folium.FeatureGroup(name="震度5強").add_to(plot_map)
s6j_group = folium.FeatureGroup(name="震度6弱").add_to(plot_map)
s6k_group = folium.FeatureGroup(name="震度6強").add_to(plot_map)
s7_group = folium.FeatureGroup(name="震度7").add_to(plot_map)

for i, r in df1[df1['最大震度']=='震度5弱'].iterrows():
    s5j_group.add_child(make_maker(r,'#99FFFF'))
for i, r in df1[df1['最大震度']=='震度5強'].iterrows():
    s5k_group.add_child(make_maker(r,'#66FF00'))
for i, r in df1[df1['最大震度']=='震度6弱'].iterrows():
    s6j_group.add_child(make_maker(r,'#FFFF00'))
for i, r in df1[df1['最大震度']=='震度6強'].iterrows():
    s6k_group.add_child(make_maker(r,'#FF00FF'))
for i, r in df1[df1['最大震度']=='震度7'].iterrows():
    s7_group.add_child(make_maker(r,'#FF0000'))
folium.LayerControl().add_to(plot_map)
plot_map.save("HTMLファイル名")

実行するとHTMLファイルが出来上がります。
それを開くとこんな感じです。

スクリーンショット 2021-10-09 16.52.44


地図の右上から震度別で
表示を切り替えできるようになっています。

スクリーンショット 2021-10-09 16.54.24

震度6以上だとこんな感じに

スクリーンショット 2021-10-09 16.54.51

震度7だけだとこうなります。
スクリーンショット 2021-10-09 16.55.15


先日地震のあった場所は
千葉県の北西部で震度5強を観測しています。

スクリーンショット 2021-10-09 17.05.12


こんな感じでうまくマッピング出来て
いろいろ切り替えながら眺められるので
面白いと思います。

50年以上の観測データのようですが
関東圏では震度6強より大きな地震の発生がなさそうですね。

ただ、ここ最近の大地震を線で結ぶと
スクリーンショット 2021-10-09 16.54.51のコピー

きれいに一直線でつながるのが
少し怖いですねーー

無理くりつなげてみましたが
このライン上には何か有るのかも・・・

いつ地震が来ても良いような
備は考えておくべきですね!!!!

今回は地震データを
Folium可視化してみました。

やりたい方はコピペして
試してみてくださいね。

それでは。

最近感染が拡大しているということで
最新のコロナ関連のデータを見てみましょう。

解説動画はこちら



今回参考にさせていただくデータは
東洋経済さんのサイトのデータです。

それも厚生労働省のオープンデータが元になっていますが
サイトからダウンロードすることができます。

東洋経済さんのサイト

こちらのデータを元にして
現状を見てみることにしましょう。

まずはデータの読み込みです。
こちらのコードで直接データフレームに
データを読み込むことができます。

import pandas as pd

url = 'https://toyokeizai.net/sp/visual/tko/covid19/csv/prefectures.csv'
df = pd.read_csv(url)
df.head()
スクリーンショット 2021-07-31 17.21.16


集計したりするには
少しデータの形がアレなので
データをきれいに整形します。

def to_date(d):
    return pd.to_datetime('{0:02}/{1:02}/{2:02}'.format(d['year'],d['month'],d['date']),format='%Y/%m/%d')

# 日付に直す
df['days'] = df.apply(to_date, axis=1)

# 値の補完
df['deaths'] =  df['deaths'].str.replace('-','0')
df['serious'] =  df['serious'].str.replace('-','0')

# Null値の補完
df = df.fillna(0)

# 型変換
df['deaths'] =  df['deaths'].astype(int)
df['serious'] =  df['serious'].astype(int)
df['peopleTested'] =  df['peopleTested'].astype(int)
df['hospitalized'] =  df['hospitalized'].astype(int)
df['discharged'] =  df['discharged'].astype(int)

# 必要なカラムのみに絞る
df = df[['days','prefectureNameJ', 'peopleTested', 'testedPositive','discharged', 'hospitalized', 'serious', 'deaths' ]]

df.head()
スクリーンショット 2021-07-31 17.23.00

だいぶ綺麗になりましたね。

これを使って色々集計してみることにしましょう。
こちらのデータは累計データのようです。

まずは都道府県別の累計感染者数を
見てみることにしましょう。

df.groupby('prefectureNameJ').max().sort_values('testedPositive',ascending=False)
スクリーンショット 2021-07-31 17.25.09

2021年7月29までのデータで
感染者数の多い順で都道府県別の累計数を見ています。

東京や大阪、神奈川が多いのは
人口比どうりかと思いますが
沖縄とかも増えてきていますね。


次は色々な率を見てみます。
まずは全国の率を見てみます。

df['陽性率'] =  df['testedPositive'] / df['peopleTested'] * 100
df['復帰率'] = df['discharged'] / df['testedPositive'] * 100
df['療養率'] = df['hospitalized'] / df['testedPositive'] * 100
df['重症化率'] = df['serious'] / df['testedPositive'] * 100
df['死亡率'] = df['deaths'] / df['testedPositive'] * 100
days = '2021-07-29'
df2 = df[['prefectureNameJ','peopleTested','testedPositive','discharged','hospitalized','serious','deaths','陽性率','復帰率','療養率','重症化率','死亡率']][df['days']==days]

df3 = pd.DataFrame(data=df2[['peopleTested','testedPositive','discharged','hospitalized','serious','deaths']].sum())
df3 = df3.T
df3['陽性率'] =  df3['testedPositive'] / df3['peopleTested'] * 100
df3['復帰率'] = df3['discharged'] / df3['testedPositive'] * 100
df3['療養率'] = df3['hospitalized'] / df3['testedPositive'] * 100
df3['重症化率'] = df3['serious'] / df3['testedPositive'] * 100
df3['死亡率'] = df3['deaths'] / df3['testedPositive'] * 100

df3
スクリーンショット 2021-07-31 17.28.51

累計感染者数は90万人弱
累計死亡者数は15166人で
死亡率だと1.68%ほどになります。

参考として2018年の
インフルエンザの感染者が1200万人
死亡者は3325人ということでしたので
そこから計算すると死亡率は0.027%
コロナの方が60倍も高いことになってしまいます。

次のコードで率の高いところを出すことができます。

PCR検査の陽性率は??
df2[['prefectureNameJ','peopleTested','testedPositive','陽性率']].sort_values('陽性率',ascending=False)
死亡者の割合が高いところは?
df2[['prefectureNameJ','testedPositive','deaths','死亡率']].sort_values('死亡率',ascending=False)

最後に最近では感染者が拡大傾向にあるということで
直近の60日間の動向から年末まで
このままいくとどうなるかを予測してみました。

こちらはfbprophetを使うので
インストールしていない人は
インストールなどが必要です。
(要pip install)


ライブラリの読み込みと学習データに整形します。
from fbprophet import Prophet
import warnings
warnings.simplefilter('ignore')

tmp_df = df[['days','testedPositive','discharged','hospitalized','serious','deaths']].groupby('days').sum()
tmp_df = tmp_df.reset_index()
tmp_df.head()

まずは感染者数の推移を予測します。
model = Prophet()
model_df = tmp_df.rename(columns={'days':'ds','testedPositive':'y'})
model.fit(model_df.tail(60))

future_df = model.make_future_dataframe(150)
forecast = model.predict(future_df)
model.plot(forecast)
download
7月に入ってからの感染者数が増えてきています。
年末までこのままのペースだと160万人
最悪180万人ほどにもなる見込みです。


次に死亡者の推移を予測してみます。
model = Prophet()
model_df = tmp_df.rename(columns={'days':'ds','deaths':'y'})
model.fit(model_df.tail(60))

future_df = model.make_future_dataframe(150)
forecast = model.predict(future_df)
model.plot(forecast)
downloadのコピー

死亡者は最近おちついてきている傾向です。
感染拡大が続いても今のペースが続くなら
そこまでの死亡者が出ない予測になっていますが
油断は禁物です。



まとめです。

2021年7月29日までの感染者数は90万人ほどで
うち死亡者は15166人で死亡率1.68%

感染拡大が広がっているが、現状のまま進むと
2021年内には累計160万人が感染し
死亡者累計1万7千人ほどになる見込みです。

ワクチンを打ってもかかる人はいます。
過去に感染しても再感染する人もいます。

正直な所
強めの風邪なんじゃないかと思います。

何も打つ手が無さそうなので
人の多いところに行かないで
静かに生活するしかなさそうですね。

データは日々更新されていきますが
このコードを使えば簡単に見れますので
興味のある方は見てみて下さい。

それでは。



今回はドラマ
孤独のグルメで紹介された
お店のデータを集めてみました。

解説動画はこちら

 


今回使用したデータはこちらです。

なお当方で集めたデータであるため
誤りがある可能性もありますのでご注意下さい。

お店に行かれる際は事前に調べてくださいね。

シーズンタイトル都道府県店名ジャンル
1【第1話】 江東区門前仲町のやきとりと焼めし東京都『庄助』焼鳥
1【第2話】 豊島区駒込の煮魚定食東京都『和食亭』小料理、魚介料理、居酒屋
1【第3話】 豊島区池袋の汁なし担々麺東京都『中国家庭料理 楊 2号店』四川料理、担々麺、餃子
1【第4話】 千葉県浦安市の静岡おでん千葉県『LocoDish』(閉店)カフェ、おでん、お酒
1【第5話】 杉並区永福の親子丼と焼うどん東京都『つり堀 武蔵野園』定食・食堂
1【第6話】 中野区鷺ノ宮のロースにんにく焼き東京都『みやこや』とんかつ、定食、食堂
1【第7話】 武蔵野市吉祥寺喫茶店のナポリタン東京都『カヤシマ』喫茶店、居酒屋、洋食
1【第8話】 神奈川県川崎市八丁畷の一人焼肉神奈川県『つるや』焼肉、ジンギスカン
1【第9話】 世田谷区下北沢の広島風お好み焼東京都『ヒロキ』お好み焼き、鉄板焼き
1【第10話】 豊島区東長崎のしょうが焼目玉丼東京都『せきざわ食堂』(閉店)定食・食堂
1【第11話】 文京区根津飲み屋さんの特辛カレー東京都『すみれ』居酒屋
1【第12話】 目黒区中目黒ソーキそばとアグー豚の天然塩焼き東京都『草花木果(そーかぼっか)』居酒屋、鍋、沖縄料理
2【第1話】 神奈川県川崎市新丸子のネギ肉イタメ神奈川県『三ちゃん食堂』定食、中華料理、居酒屋
2【第2話】 中央区日本橋人形町の黒天丼東京都『天ぷら 中山』天ぷら、天丼・天重
2【第3話】 中野区沼袋のわさびカルビと卵かけご飯東京都『平和苑』焼肉
2【第4話】 群馬県邑楽郡大泉町のブラジル料理群馬県『レストラン ブラジル』ブラジル料理、ステーキ
2【第5話】 横浜市白楽の豚肉と玉ねぎのにんにく焼き神奈川県『キッチン友』洋食、定食・食堂
2【第6話】 江戸川区京成小岩の激辛四川料理東京都『四川家庭料理 珍々』四川料理、中華料理、火鍋
2【第7話】千葉県旭市飯岡のサンマのなめろうと蛤の酒蒸し千葉県『つちや食堂』(閉店)定食・食堂、魚介料理
2【第8話】 墨田区両国の一人ちゃんこ鍋東京都『割烹ちゃんこ 大内』割烹、ちゃんこ鍋
2【第9話】 江東区砂町銀座を経て事務所飯東京都『砂町銀座商店街』NaN
2【第10話】 北区十条の鯖のくんせいと甘い玉子焼東京都『田や』居酒屋
2【第11話】 足立区北千住のタイカレーと鶏の汁なし麺東京都『ライカノ』タイ料理、タイカレー
2【第12話】 東京都三鷹市のお母さんのコロッケとぶり大根東京都『お食事 樹』親子丼、定食・食堂
3【第1話】 北区赤羽のほろほろ鳥とうな丼東京都『川栄』うなぎ、鳥料理
3【第2話】 神奈川県横浜市日ノ出町のチートのしょうが炒めとパタン神奈川県『第一亭』台湾料理、ホルモン、中華麺
3【第3話】 静岡県賀茂郡河津町の生ワサビ付わさび丼静岡県『わさび園かどや』和食
3【第4話】 文京区江戸川橋の魚屋さんの銀だら西京焼き東京都『魚谷』居酒屋、魚介料理
3【第5話】 中野区東中野の羊の鉄鍋とラグマン東京都『キャラヴァンサライパオ』西アジア料理、お酒
3【第6話】 板橋区板橋のホルモン焼き東京都『山源』ホルモン、焼肉
3【第7話】 目黒区駒場東大前のマッシュルームガーリックとカキグラタン東京都『ボラーチョ(BORRACHO)』洋食、地中海料理
3【第8話】 台東区鶯谷のアボカド鶏メンチと鳥鍋めし東京都『鳥椿 鶯谷朝顔通り店』居酒屋、焼鳥
3【第9話】 練馬区小竹向原のローストポークサンドイッチとサルシッチャ東京都『まちのパーラー』パン、カフェ
3【第10話】 荒川区西尾久の炎の酒鍋と麦とろ飯東京都『どん平』とんかつ、居酒屋
3【第11話】 新潟県十日町市ドライブインの牛肉の煮込みと五目釜めし新潟県『峠の茶屋 蔵』釜飯、天丼・天重
3【第12話】 品川区大井町いわしのユッケとにぎり寿司東京都『だるまや』魚介料理、居酒屋
4【第1話】 東京都清瀬市のもやしと肉のピリ辛イタメ東京都『みゆき食堂』定食・食堂
4【第2話】 中央区銀座の韓国風天ぷらと参鶏湯ラーメン東京都『なじみ亭』韓国料理
4【第3話】 神奈川県足柄下郡箱根町のステーキ丼神奈川県『いろり家』居酒屋
4【第4話】 東京都八王子市小宮町のヒレカルビとロースすき焼き風東京都『大幸園』焼肉、ホルモン
4【第5話】 愛知県知多郡日間賀島のしらすの天ぷらとたこめし愛知県『乙姫』魚介料理・海鮮料理
4【第6話】 東京都江東区木場のチーズクルチャとラムミントカレー東京都『カマルプール』インド料理、インドカレー
4【第7話】 台東区鳥越の明太クリームパスタとかつサンド東京都『まめぞ』居酒屋、和食
4【第8話】 杉並区阿佐ヶ谷のオックステールスープとアサイーボウル東京都『YO-HO’s cafe Lanai』ハワイ料理、カフェ
4【第9話】 渋谷区神宮前の毛沢東スペアリブと黒チャーハン東京都『シャンウェイ』四川料理
4【第10話】 江東区枝川のハムエッグ定食とカツ皿東京都『レストラン アトム』(閉店)定食・食堂、喫茶店
4【第11話】 大田区蒲田の海老の生春巻きととりおこわ東京都『THITHI(ティティ)』ベトナム料理、カレー
4【第12話】 渋谷区恵比寿の海老しんじょうと焼おにぎり東京都『さいき』居酒屋
5【第1話】 神奈川県川崎市稲田堤のガーリックハラミとサムギョプサル神奈川県『寿苑』焼肉
5【第2話】 江東区清澄白河のポパイベーコンとサンマクンセイ刺東京都『だるま』居酒屋、串焼き、魚介料理
5【第3話】 杉並区西荻窪のラム肉のハンバーグと野菜のクスクス東京都『tamtamu(タムタム)』アフリカ料理、鍋
5【第4話】 台湾宜蘭県羅東の三星葱の肉炒めと豚肉の紅麹揚げ台湾『全台小吃部』(閉店)NaN
5【第5話】 台湾台北市永楽市場の鶏肉飯と乾麺台湾『永樂小吃(永樂担仔麺)』NaN
5【第6話】 東京都目黒区大岡山の魚定食となめろう冷茶漬東京都『九絵』魚介料理、日本酒バー
5【第7話】 東京都世田谷区千歳船橋のラム肩ロースとラムチョップ東京都『まーさん』ジンギスカン、居酒屋
5【第8話】東京都渋谷区代々木上原のエマダツィとパクシャパ東京都『ガテモタブン』南アジア料理、エスニック料理
5【第9話】 千葉県いすみ市大原のブタ肉塩焼きライスとミックスフライ千葉県『源氏食堂』(閉店)定食・食堂
5【第10話】 東京都江東区亀戸の純レバ丼東京都『菜苑(さいえん)』中華料理、定食・食堂
5【第11話】 埼玉県越谷市せんげん台のアメリカンソースのオムライスとカキのムニエル埼玉県『厨 Sawa』シチュー、オムライス
5【第12話】 東京都豊島区西巣鴨の一人すき焼き東京都『じゃぶ辰』しゃぶしゃぶ、すき焼き
6【第1話】 大阪府美章園のお好み焼き定食と平野の串かつ大阪府『甘辛や』お好み焼き、鉄板焼き
6【第2話】 東京都新宿区淀橋市場の豚バラ生姜焼定食東京都『伊勢屋食堂』定食・食堂
6【第3話】東京都目黒区三田のチキンと野菜の薬膳スープカレー東京都『薬膳スープカレー シャナイア』スープカレー、エスニック料理
6【第4話】東京都東大和市の上タンシオとカイノミ東京都『翠苑』(閉店)焼肉
6【第5話】東京都世田谷区太子堂の回転寿司東京都『すし台所屋 三軒茶屋店』回転寿司
6【第6話】東京都新宿区高田馬場のシャン風豚高菜漬炒めと牛スープそば東京都『ノング・インレイ』ジャンル :東南アジア料理、お酒
6【第7話】東京都渋谷区道玄坂の皿うどんと春巻き東京都『長崎飯店 渋谷店』中華料理、ちゃんぽん
6【第8話】東京都台東区御徒町のラム肉長葱炒めとスペアリブ東京都『洋香味坊(やんしゃんあじぼう)』中華料理
6【第9話】東京都品川区旗の台のサルスエラとイカ墨のパエリア東京都『スペイン食堂 石井』スペイン料理、ワインバー
6【第10話】千葉県富津市金谷のアジフライ定食千葉県『漁師めし はまべ』魚介料理、定食・食堂
6【第11話】東京都文京区茗荷谷の冷やしタンタン麺と回鍋肉東京都『豊栄(ほうえい)』中華料理、四川料理
6【第12話】東京都品川区五反田の揚げトウモロコシと牛ご飯東京都『食堂とだか』郷土料理、居酒屋、割烹
7【第1話】埼玉県上尾市本町の肩ロースかつ定食埼玉県『キセキ食堂』ステーキ、とんかつ
7【第2話】東京都世田谷区経堂の一人バイキング東京都『マッシーナ メッシーナ』定食・食堂
7【第3話】東京都港区南麻布のチョリソのケソフンディードと鶏肉のピピアンベルデ東京都『サルシータ』メキシコ料理
7【第4話】群馬県甘楽群下仁田町のタンメンと豚すき焼き群馬県『一番』定食・食堂、ラーメン
7【第4話】群馬県甘楽群下仁田町のタンメンと豚すき焼き群馬県『コロムビア』すき焼き
7【第5話】東京都荒川区三河島の緑と赤の麻婆豆腐東京都『眞実一路(シンジツイチロ)』中華料理
7【第6話】千葉県浦安市の真っ黒な銀だらの煮付定食千葉県『羅甸(らてん)』割烹、小料理
7【第7話】東京都墨田区東向島の納豆のピザと辛いパスタ東京都『カトリカ』ピザ、パスタ
7【第8話】東京都中野区百軒横丁のチキン南蛮と地鶏もも串東京都『泪橋(なみだばし)』焼鳥、焼きとん、居酒屋
7【第9話】韓国チョンジュ市の納豆チゲとセルフビビンバ韓国『토방(トバン)』韓国料理、定食
7【第10話】韓国ソウル特別市の骨付き豚カルビとおかずの群れ韓国『종점숯불갈비(チョンチョムスップルカルビ)』韓国料理、焼肉
7【第11話】千葉県千葉市の特性ニンニクスープと生鮭のバター焼き千葉県『味のレストラン えびすや 幸町店』洋食、西洋各国料理
7【第12話】東京都中央区八丁堀のニラ玉ライスとエビチリ東京都『中華シブヤ』(閉店)中華料理
8【第1話】神奈川県横濱中華街の中華釜飯と海老雲呑麺神奈川県『南粤美食(ナンエツビショク)』中華料理
8【第2話】東京都杉並区高井戸のタンステーキとミートパトラ東京都『EAT』(休業)洋食、ステーキ
8【第3話】東京都中央区日比谷銀座のBarのロールキャベツ定食東京都『四馬路』定食、洋食
8【第4話】埼玉県新座市の肉汁うどんと西東京市ひばりが丘のカステラパンケーキ埼玉県『うどんや藤』うどん、串揚げ
8【第4話】埼玉県新座市の肉汁うどんと西東京市ひばりが丘のカステラパンケーキ東京都『コンマ コーヒー』(閉店)カフェ
8【第5話】群馬県藤岡市の一人ロースター焼肉群馬県『宝来軒』焼肉、ホルモン
8【第6話】東京都台東区浅草のローストポークのサラダとチムチュム東京都『イサーン』タイ料理、居酒屋
8【第7話】神奈川県鎌倉市由比ヶ浜のドイツ風サバの燻製とスペアリブ神奈川県『シーキャッスル』ドイツ料理、ケーキ
8【第8話】鳥取県鳥取市のオーカクとホルモンそば鳥取県『まつやホルモン店』ホルモン、焼きそば
8【第9話】東京都千代田区御茶ノ水の南インドカレー定食とガーリックチーズドーサ東京都『三燈舎』インド料理、カレー
8【第10話】東京都世田谷区豪徳寺のぶりの照焼き定食とクリームコロッケ東京都『旬彩魚 いなだ』魚介料理、海鮮料理
8【第11話】神奈川県川崎市武蔵小杉の一人ジンギスカン神奈川県『ジンギスカン どぅー』ジンギスカン
8【第12話】東京都台東区三ノ輪のカツ丼と冷やし麻婆麺東京都『やよい』洋食、中華


場所は東京がすごく多く3回に2回は東京
たまーに地方遠征が有りますねえ。

千葉や神奈川もたまにありますね。

ジャンルは結構色々なジャンルを攻めていますが
居酒屋がかなり多いですね。

焼肉を食べているイメージが
すごく強いものの、全体的には
1割ほどの登場でした。

データから見ると
ゴローさんは
国際色豊かな食通
そんな感じでしょうかね

データを集めてたら
お腹空いてきましたんで
今日はこれにて終了です!!!

それでは。


今回はワクチンの副反応のデータを見てみました。

解説動画はこちら



今回参照したデータはこちらのデータです。
データ
これを整形してみました。


まず最初はデータの読み込みです。
CSVを読み込んでこんな感じのデータを読み込みました。

スクリーンショット 2021-07-17 18.13.33

6/23日までのファイザーのワクチン摂取後の
死亡ケース355件のデータです。


さてデータを見てみましょう。
最初は年代での分布です。
download
まあ、ワクチン摂取が高齢者からだったので
60代以上がほとんどですね。

60代以上が332件
60代未満は33件
でした。


次は性別での結果です。
download-1
高齢者の大半は女性かと思いますので
まあ当たり前の結果ですね。


次は発生日の推移です。
3月くらいから少しづつケースが増えていますね。

download-3


続いて摂取日から亡くなるまでの日数です。
発生日 - 摂取日 で取りました。

download-4

0は不明なデータなので
翌日に亡くなるケースがかなり多いですね。
特に摂取後5日以内は結構な数になりますね。

今回のデータでは40日後までのケースが有りますが
14日ほどは経過観察が必要でしょう。



ワクチンのロット別でのケース数です。

download-2
全体の7分の1になる1ロットが有りますねえ
初期のやつなんでしょうか?!
ここら辺の仕組みは良くわかりません。

最後は死因です。

download-5

355件の中で
評価中や不明が3分の1ほどもあります。
うーんそんなに死因の特定って難しいんですかね

それ以外だと心不全や停止
血管系の疾患によるものが多いですね。

もしかすると
血液や血管に影響が出る
可能性があるのかもしれませんね。

この355ケース
流石に60代以上は寿命じゃないかと思いますが
40代未満で基礎疾患なしのケースが3ケースありました。

うち2ケースは普通は死なない状況だと思うので
かなり疑わしい気がしますねえ

この結果から見るに
ワクチン摂取後は最低でも2週間は様子見をした方が
良さそうな結果でした。


個人的には正確なデータが欲しいところです。
早く評価終わると良いですね


今回はこれまでです
それでは。

このページのトップヘ