ジョー・バイデン元副大統領とトランプ大統領の直接対決の世論調査結果が酷いことになっています。バイデン氏が民主党の代表候補になることは100%ないので、この直接対決自体が現実では有り得ないのですが、この種の世論調査の無意味さを証明するにはもってこいのデータとなっています。と思っていたのですが、アルツハイマー型認知症を患っていることを、リベラルメディアがひた隠しにすることで、バイデン氏が民主党の大統領候補になってしまいました。
import pandas as pd
import requests
df = pd.read_html(requests.get('https://www.realclearpolitics.com/epolls/2020/president/us/general_election_trump_vs_biden-6247.html#polls').content)
df1 = df[2]
df1.head(3)
df2=df1[:100].query('Poll == "Rasmussen ReportsRasmussen" | Poll=="IBD/TIPPIBD/TIPP"')
df2.reset_index(drop=True, inplace=True)
df2.head(3)
from matplotlib.pyplot import *
from matplotlib.font_manager import FontProperties
from matplotlib import rcParams
import matplotlib.patches as mpatches
style.use('ggplot')
fp = FontProperties(fname='/usr/share/fonts/opentype/ipaexfont-gothic/ipaexg.ttf', size=54)
rcParams['font.family'] = fp.get_name()
rcParams["font.size"] = "25"
fig, ax = subplots(figsize=(20,15))
for i, row in df2.iterrows():
bar([i], [row['Biden (D)']],
color=['#008AB8'], width=0.8, align='center', edgecolor='none')
bar([i], [row['Trump (R)']], bottom=[row['Biden (D)']],
color=['#CC6699'], width=0.8, align='center', edgecolor='none')
xlim(-0.6, len(df2)-.6)
ylim(0, 100)
xticks(range(len(df2)), df2['Date'], fontsize=20,rotation=90)
grid(False)
yticks(np.arange(0, 101, 25),
['{}%'.format(int(x)) for x in np.arange(0, 101, 25)])
xlabel('Date')
ylabel('バイデン vs. トランプ')
plot([-0.425, 165.425], [50, 50], lw=2, color='black')
plot([-0.425, 165.425], [25, 25], lw=2, color='black')
plot([-0.425, 165.425], [75, 75], lw=2, color='black')
a = mpatches.Patch(color='#CC6699', label='トランプ')
b = mpatches.Patch(color='#008AB8', label='バイデン')
ax.legend(handles=[a,b],bbox_to_anchor=(0,1.02,1,0.2),loc="lower left",mode="None",\
borderaxespad=0,ncol=2,prop={'size': 26});
gca().invert_xaxis();
合計が100%にならないのでこの棒グラフではダメなようです。
fig, ax = subplots(figsize=(20,15))
df2.plot(ax=ax,kind='bar')
xlim(-0.6, len(df2)-.6)
xticks(range(len(df2)), df2['Date'], fontsize=20,rotation=90);
gca().invert_xaxis();
いまいちしっくり来ません。
fig, ax = subplots(figsize=(20,15))
colors = ['b','r']
df2.plot(ax=ax,kind='bar',width=.9,stacked=True,color=colors)
xlim(-0.6, len(df2)-.6)
xticks(range(len(df2)), df2['Date'], fontsize=20,rotation=90)
yticks(np.arange(0, 101, 10),
['{}%'.format(int(x)) for x in np.arange(0, 101, 10)])
values = (df2['Biden (D)'].tolist()
+ df2['Trump (R)'].tolist())
plot([-0.425, 65.425], [50, 50], lw=2, color='black')
a = mpatches.Patch(color='r', label='トランプ')
b = mpatches.Patch(color='b', label='バイデン')
ax.legend(handles=[a,b],bbox_to_anchor=(0,1.02,1,0.2),loc="lower left",mode="None",\
borderaxespad=0,ncol=2,prop={'size': 26});
for i, j in zip(ax.patches, values):
h = i.get_height() /2.
w = i.get_width() /2.
x, y = i.get_xy()
ax.text(x+w, y+h,int(j),ha='center', va='bottom',color='w',weight='black')
gca().invert_xaxis();
直近のデータだと、バイデン氏はトランプ氏に10ポイント差を付けています。6/25〜7/7のRCP平均でも9ポイント差でバイデン氏がトランプ氏に圧勝しています。トランプ大統領は側近に、「負けるかもしれない」と弱音を吐いていると伝えられています。このことが、ニューハンプシャー州ポーツマス(ポーツマス条約で有名なあのポーツマスです)でのキャンペーン演説のドタキャン、公の場で初めてマスクを付けたりといったことにつながっているのかもしれません。
バイデン vs. トランプ (折れ線グラフ)¶
style.use('ggplot')
rcParams["font.size"] = "25"
rc('xtick', labelsize=25)
rc('ytick', labelsize=25)
fig, ax = subplots(figsize=(20,16))
grid(b=True, which='major', color='k', linestyle='-')
minorticks_on()
grid(b=True, which='minor',color='gray',linestyle='-',alpha=0.7)
df2.plot(ax=ax,marker='o',lw=2)
ax.legend(loc='lower left', prop={'size': 26})
xlim(0, 9)
xticks(range(0,len(df2.index)),df2['Date'],fontsize=15,rotation=90)
gca().invert_xaxis();
この時期のクリントン vs. トランプ(ラスムセン・レポート)は、ヒラリー女史の40%に対してトランプ氏が42%で、トランプ氏がクリントン氏に2ポイント差を付けていたことを考えると、トランプ氏が置かれている状況がいかに深刻な状況であるかが良く分かるかと思います。全ては、新型コロナウイルス次第であると言われています。何故なら、経済と新型ウイルス感染者数は完全にリンクしているからで、もし、11月までに新型ウイルス感染者を抑えることができず、さらに、死者・重症者数も劇的に減らすことができなければ、トランプ大統領の再選は100%有り得ないと予測されています。