赞
踩
1. 数据介绍
1.1 标签介绍
数据集的标签是happiness变量,是一个取值为1到5的有序变量,表示幸福程度。数值越大表示幸福感越强,1表示感到非常不幸福,5表示非常幸福。
1.2 特征介绍
数据集中一共有139个特征,大致可以分为两类:第一类是与自身相关的,第二类是
与自身家庭相关的。第一类中与自身相关的可以大致细分为3个方面:第一方面是外在,比如出生日期、性别、身高、体重、身体健康状况等;第二方面是精神认知方面,比如是否有信仰宗教、社会公平度、对社会各项公共的满意程度等,第三方面主要是经济方面、比如过去现在以及将来所处社会等级、工作收入等。第二类是家庭基本信息,比如父母亲配偶的年龄、工作、政治面貌等。
2. 描述性统计
#查看数据的总体情况,可以看出共有140个变量,其中的happiness为标签变量
data.info(verbose=True,null_counts=True)
2.1 标签
发现数据存在12个异常值,由于12占整体的数据量较少,此处描述性统计暂时不统计标签小于0的值,对结果影响不大,后续预处理将对标签进行处理 统计标签大于0 的分布从标签饼图可以看出觉得幸福的人最多,占样本的60.3%,其次是非常幸福的人,占样本的17.7%,感到非常不幸福的人较少仅占1.3%
label=data['happiness']
label.value_counts
colors=['steelblue','#ff9999','#7777aa','pink','#dd5555']
label_list=[]
label_c=[]
for i in range(1,6):
label_list.append(data.loc[label==i,'happiness'].count())
plt.pie(label_list,labels=[1,2,3,4,5],autopct='%.1f%%',colors=colors)
plt.legend()
2.2个人信息描述
#样本类型查看
data['survey_type'].value_counts()
从样本类型的统计看出,城市中的样本占大多数。作出不同类别群体的幸福分布条形图,从图中可以看出两个群体关于幸福感的整体趋势是相同的,但城市类别中,感到特别幸福的人的比例略高于农村地区。
city=data[data['survey_type']==1]
rural=data[data['survey_type']==2]
city_list=[]
rural_list=[]
for i in range(1,6):
city_list.append(city.loc[city['happiness']==i,'happiness'].count())
rural_list.append(rural.loc[rural['happiness']==i,'happiness'].count())
width=0.35
plt.bar(range(1,6),city_list,width=width,label='city',color='pink')
plt.bar(np.arange(1,6)+width,rural_list,width=width,label='rural',color='#7777aa')
plt.xticks(np.arange(1,6)+0.1,[1,2,3,4,5])
plt.legend()
plt.show
**#性别**
sex_list=[]
for i in range(1,3):
sex_list.append(data.loc[data['gender']==i,'happiness'].count())
plt.pie(sex_list,colors=['#7777aa','pink'],labels=['F','M'],autopct='%.1f%%')
plt.legend()
性别分布的饼图如上图所示,F代表男性,M代表女性,可以看出女性受访者略多于男性,再做出不同性别的幸福感分布条形图,可看出男女 的幸福感分布走势基本相同,再通过比较均值进一步进行研究,这两个类别幸福感均值的条形图如图,可以看出女性群体的幸福感均值略高于男性。
f=data.loc[data['gender']==1]
m=data[data['gender']==2]
f_list=[]
m_list=[]
for i in range(1,6):
f_list.append(f.loc[f['happiness']==i,'happiness'].count())
m_list.append(m.loc[m['happiness']==i,'happiness'].count())
width=0.35
plt.bar(range(1,6),f_list,width=width,label='f',color='pink')
plt.bar(np.arange(1,6)+width,m_list,width=width,label='m',color='#7777aa')
plt.xticks(np.arange(1,6)+0.1,[1,2,3,4,5])
plt.legend()
plt.show
#年龄
用出生日期减去调查日期得到受访者的年龄。年龄分布的盒形图如下,从该图可以看出,样本中年龄大的有90多岁,小的不到20岁,大多数受访者年龄为40-60岁。按照幸福程度分组,可以看出组别均值之间存在差异,感到非常幸福的人的年龄均值最大。
#年龄
data['survey_time']=pd.to_datetime(data['survey_time'])
data['survey_year']=data['survey_time'].dt.year
data['age']=data['survey_year']-data['birth']
plt.boxplot(data['age'],patch_artist='pink')
#身高
身高箱线图如图,身高最小值不到120cm、最大值超过190cm,有较多离群值。按照幸福感分组得到分组条形图,如图,幸福感为4即感到比较幸福的群体有较多离群值,同时也能看出 该群体的身高均值最大
plt.boxplot(data['height_cm&#
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。