import numpy as np import pandas as pd import seaborn import scipy.stats as st import matplotlib.pyplot as plt import statsmodels.api as sm import statsmodels.formula.api as smf pd.set_option('display.float_format', lambda x:'%.2f'%x) # Đọc dữ liệu data = pd.read_csv('ool.csv', low_memory=False) # Chuyển sang dữ liệu số data['W2_QG_2'] = pd.to_numeric(data['W2_QG_2'], errors='coerce') # Tinh chỉnh câu hỏi nghiên cứu sub1=data[(data['PPAGECT4'] >= 1) &(data['PPAGECT4'] <= 4) & (data['W2_QG_2']==1)] # Mã hóa biến phân loại theo kiểu nhị phân recode1 = {1: 0, 2: 1} # Đặt tên mới cho biến vừa mã hóa sub1['SEX'] = sub1['PPGENDER'].map(recode1) sub1['SEX'] = pd.to_numeric(sub1['SEX'], errors='coerce') # Phân tích print("Phân tích hồi quy với biến giải thích là phân loại và biến phản hồi là định lượng") reg1 = smf.ols('W1_N1J ~ SEX', data=sub1).fit() print (reg1.summary()) # Đồ thị seaborn.factorplot(x="SEX", y="W1_N1J", data=sub1, kind="bar", ci=None) plt.xlabel('Giới tính') plt.ylabel('Trung bình số lượng đánh giá tỷ lệ 1% giàu có nhất') plt.title('Scatterplot cho mối liên hệ giữa giới tính và số lượng đánh giá tỷ lệ 1% giàu có nhất') plt.show()