In [1]:
import pandas as pd
%matplotlib inline
In [2]:
import matplotlib.pyplot as plt
import statsmodels.formula.api as smf
In [3]:
df = pd.read_excel("fox_data.xlsx")
In [4]:
df
Out[4]:
In [5]:
negs_df = df[df['Subject'] == 'Iran Negotiations']
In [6]:
negs_df
Out[6]:
In [7]:
very_confident_df = negs_df[negs_df['Response'] == 'Very confident']
In [8]:
very_confident_df
Out[8]:
In [9]:
somewhat_confident_df = negs_df[negs_df['Response'] == 'Somewhat confident']
In [10]:
somewhat_confident_df
Out[10]:
In [43]:
confident_df = very_confident_df.append(somewhat_confident_df)
In [44]:
confident_df
Out[44]:
In [45]:
new_confident_df = confident_df.append(confident_df.sum(numeric_only=True), ignore_index=True)
In [46]:
new_confident_df
Out[46]:
In [47]:
final_confident_df = new_confident_df.set_value(2, 'Subject', 'Iran Negotiations')
In [48]:
final_confident_df
Out[48]:
In [59]:
final_confident_df = new_confident_df.set_value(2, 'Response', 'Total')
In [60]:
final_confident_df
Out[60]:
In [61]:
super_final_confident_df = final_confident_df[final_confident_df['Response'] == 'Total']
In [62]:
super_final_confident_df
Out[62]:
In [68]:
del super_final_confident_df['Subject']
In [69]:
del super_final_confident_df['Response']
In [73]:
del super_final_confident_df['Total']
In [77]:
obama_df = df[df['Subject'] == 'Obama']
In [79]:
obama_approve_df = obama_df[obama_df['Response'] == 'Approve']
In [81]:
del obama_approve_df['Subject']
In [82]:
del obama_approve_df['Response']
In [83]:
del obama_approve_df['Total']
In [84]:
obama_approve_df
Out[84]:
In [107]:
plottable_df = obama_approve_df.append(super_final_confident_df)
In [108]:
plottable_df
Out[108]:
In [112]:
final_plottable_df = plottable_df.transpose()
In [119]:
final_plottable_df.columns = ['Total_Obama_Approve', 'Total_Iran_Negotiations']
In [120]:
final_plottable_df
Out[120]:
In [125]:
lm = smf.ols(formula='Total_Iran_Negotiations ~ Total_Obama_Approve',data=final_plottable_df).fit()
lm.params
Out[125]:
In [126]:
intercept, slope = lm.params
In [127]:
ax = final_plottable_df.plot(kind='scatter', x= 'Total_Obama_Approve', y='Total_Iran_Negotiations')
plt.plot(final_plottable_df["Total_Iran_Negotiations"],slope*final_plottable_df["Total_Iran_Negotiations"]+intercept,"-",color="red")
ax.set_title("Obama's Name Polarizes Opinion On Iran Deal")
ax.set_ylabel('Confident in administration\'s Iran negotiations')
ax.set_xlabel("Approve of Obama")
Out[127]:
In [ ]: