import numpy import pandas import statsmodels.formula.api as smf import statsmodels.stats.multicomp as multi data = pandas.read_csv('ool.csv', low_memory=False) data['PPETHM'] = pandas.to_numeric(data['PPETHM'], errors='coerce') data['W2_QG_2'] = pandas.to_numeric(data['W2_QG_2'], errors='coerce') data['W2_QO1'] = pandas.to_numeric(data['W2_QO1'], errors='coerce') sub1=data[(data['PPAGECT4']>=1) & (data['PPAGECT4']<=4) & (data['W2_QG_2']==1)] sub1['W2_QG_2']=sub1['W2_QG_2'].replace(-1, numpy.nan) sub1['W2_QO1']=sub1['W2_QO1'].replace(-1, numpy.nan) recode1 = {-1: 3, 0: 2, 1: 1} sub1['PRESIDENT']= sub1['W2_QO1'].map(recode1) sub1['PRESIDENT'] = pandas.to_numeric(sub1['PRESIDENT'], errors='coerce') # W2_QO1: President Obama's election as the nation's first African American president... # W1_QA2: Do you think what happens generally to Black people in this country will have # something to do with what happens in your life? ct1 = sub1.groupby('W2_QO1').size() print (ct1) # Phân tích ANOVA model1 = smf.ols(formula='W2_QO1 ~ C(W1_QA2)', data=sub1) results1 = model1.fit() print(results1.summary()) ################################################################ sub2 = sub1[['W2_QO1', 'W1_QA2']].dropna() print('Trung bình cho w2_qo1 bởi những gì xảy ra với người da đen có liên quan đến việc Obama lên làm tổng thống') m1= sub2.groupby('W1_QA2').mean() print(m1) print('Độ lệch chuẩn cho w2_qo1 bởi những gì xảy ra với người da đen có liên quan đến việc Obama lên làm tổng thống') sd1 = sub2.groupby('W1_QA2').std() print(sd1) # ========= Biến giải thích nhiều hơn 2 loại sub3 = sub1[['W2_QO1', 'PPETHM']].dropna() print(sub3['PPETHM'].value_counts().sort_index()) # 1. Da trắng, không gốc Tây Ban Nha # 2. Da đen, không gốc Tây Ban Nha # 3. Khác, không gốc Tây Ban Nha # 4. Người gốc Tây Ban Nha # 5. 2+ chủng tộc khác, không gốc Tây Ban Nha model2 = smf.ols(formula='W2_QO1 ~ C(PPETHM)', data=sub3).fit() print(model2.summary()) print ('Trung bình cho w2_qo1 theo chủng tộc') m2= sub3.groupby('PPETHM').mean() print (m2) print (' Độ lệch chuẩn cho w2_qo1 theo chủng tộc') sd2 = sub3.groupby('PPETHM').std() print (sd2) ## Phân tích sâu mc1 = multi.MultiComparison(sub3['W2_QO1'], sub3['PPETHM']) res1 = mc1.tukeyhsd() print(res1.summary())