はじめに
僕は今、月曜日と金曜日に実験の講義があります。そしてその時、軒並み雨のような気がしています。果たしてそれは僕が他の曜日に外出しないが故の勘違いなのかあるいは正しいのか検証してみます。
'最近'と曖昧にしましたが、実験が始まったのが10月からなので10月1日~昨日(11月21日)までの情報を気象庁さんが提供してくださっているものをcsv保存しました。
データは概ねこのような感じです(一応データは隠しました)。csv保存せず、スクレイピングしてもよかったのですが曜日計算がめんどくさかったのと必要な情報が少なかったのでやりませんでした。
※筆者は統計学の学がないです。また、決して曜日と天気に因果関係があることを示唆しているわけではありません。
プログラム
「このぐらいなら手で数えろよ…」の声が聞こえてきますが嫌です。書きました。
import pandas as pd
f = pd.read_csv('data.csv',encoding='cp932')
f.columns = ['day','dow','precipitation']
count_rain = 0
count_rainexp = 0
count_exp = 0
count_day = 0
for row_index,row in f.iterrows():
if row[2] != '--':
if float(row[2]) > 1:
count_rain += 1
if row[1] == '月' or row[1] == '金':
count_rainexp += 1
if row[1] == '月' or row[1] == '金':
count_exp += 1
count_day += 1
'''
for row_index,row in f.iterrows():
if row[2] != '--':
if float(row[2]) > 1:
count_rain += 1
if row[1] == '金':
count_rainexp += 1
if row[1] == '金':
count_exp += 1
count_day += 1
'''
print('雨日:',count_rain)
print('実験で雨日:',count_rainexp)
print('実験日:',count_exp)
print('総合日数:',count_day)
おなじみのpandasライブラリでf.iterrows()で一行ずつ参照しています。降水量が無の時を表す"--"でないとき他は全て数値なのでfloat型で変換しています。あとはそれぞれ求めたい数値をインクリメントしています。一応月金verと金のみverを書きましたが結果はほぼ同じでした。
実行結果
今回、総合降水量で判断しているので多少誤差がありますが1mmを超えた時に雨日としました。
雨日: 17
実験で雨日: 7
実験日: 14
総合日数: 52
つまり実験がある日が14/52、雨の日が17/52、実験の日かつ雨の日が7/52日ということになります。実験がある日という条件の下で雨が降った条件付き確率は7/14=1/2ということになります。さらに、11/4(月)と11/8(金)は変則日課で実験がありませんし雨も降っていません。これを加味すると条件付き確率は7/12≒0.58となります。さらにさらに今日11/22は実験でありさらに雨が降っています。よって8/13≒0.62となります。
さいごに
補足すると雨かつ火or水は5日、雨かつ土or日は2日でした(ってことは木は3日)。つまり偏りがありますが今回そんなことはどうでもいいんです。重要なのは
ただでさえ憂鬱な実験の日に雨が6割も降って空気ジメジメするしより憂鬱になるんだよ!!!!
ってことです。
後期も折り返しです。頑張りましょう。
おわり。
もしよければ↓ぽちっと↓お願いします。