From 265bdbef619ce7ba06d037ab44ba6c216c3d589c Mon Sep 17 00:00:00 2001
From: "[wrh]" <[wangruiheng0018@163.com]>
Date: Tue, 11 Jul 2023 21:27:47 +0800
Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E7=BB=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
2、幸福感数据分析/第二组.ipynb | 1295 ++++++++++++++++++++++++++++++++
1 file changed, 1295 insertions(+)
create mode 100644 2、幸福感数据分析/第二组.ipynb
diff --git a/2、幸福感数据分析/第二组.ipynb b/2、幸福感数据分析/第二组.ipynb
new file mode 100644
index 0000000..b381dd9
--- /dev/null
+++ b/2、幸福感数据分析/第二组.ipynb
@@ -0,0 +1,1295 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 第二组达内大作业\n",
+ "\n",
+ "### 组长:王瑞恒 强基数学001"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 〇:数据概览"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 185,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " id | \n",
+ " happiness | \n",
+ " survey_type | \n",
+ " province | \n",
+ " city | \n",
+ " county | \n",
+ " survey_time | \n",
+ " gender | \n",
+ " birth | \n",
+ " nationality | \n",
+ " ... | \n",
+ " family_income | \n",
+ " family_m | \n",
+ " family_status | \n",
+ " house | \n",
+ " car | \n",
+ " marital | \n",
+ " status_peer | \n",
+ " status_3_before | \n",
+ " view | \n",
+ " inc_ability | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 12 | \n",
+ " 32 | \n",
+ " 59 | \n",
+ " 2015/8/4 14:18 | \n",
+ " 1 | \n",
+ " 1959 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 60000.0 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 4 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ " 18 | \n",
+ " 52 | \n",
+ " 85 | \n",
+ " 2015/7/21 15:04 | \n",
+ " 1 | \n",
+ " 1992 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 40000.0 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ " 29 | \n",
+ " 83 | \n",
+ " 126 | \n",
+ " 2015/7/21 13:24 | \n",
+ " 2 | \n",
+ " 1967 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 8000.0 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ " 10 | \n",
+ " 28 | \n",
+ " 51 | \n",
+ " 2015/7/25 17:33 | \n",
+ " 2 | \n",
+ " 1943 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 12000.0 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 7 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 5 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 7 | \n",
+ " 18 | \n",
+ " 36 | \n",
+ " 2015/8/10 9:50 | \n",
+ " 2 | \n",
+ " 1994 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " -2.0 | \n",
+ " 4 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " -8 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 7995 | \n",
+ " 7996 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 29 | \n",
+ " 82 | \n",
+ " 124 | \n",
+ " 2015/7/21 19:36 | \n",
+ " 1 | \n",
+ " 1981 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 50000.0 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 7996 | \n",
+ " 7997 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 12 | \n",
+ " 32 | \n",
+ " 61 | \n",
+ " 2015/7/31 16:00 | \n",
+ " 2 | \n",
+ " 1945 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 19200.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 7 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 7997 | \n",
+ " 7998 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 16 | \n",
+ " 46 | \n",
+ " 78 | \n",
+ " 2015/8/1 17:48 | \n",
+ " 2 | \n",
+ " 1967 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " -2.0 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " -8 | \n",
+ "
\n",
+ " \n",
+ " | 7998 | \n",
+ " 7999 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 8 | \n",
+ " 2015/9/22 18:52 | \n",
+ " 2 | \n",
+ " 1978 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 170000.0 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " -1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 7999 | \n",
+ " 8000 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 2015/9/28 20:22 | \n",
+ " 2 | \n",
+ " 1991 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 48000.0 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
8000 rows × 42 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id happiness survey_type province city county survey_time \\\n",
+ "0 1 4 1 12 32 59 2015/8/4 14:18 \n",
+ "1 2 4 2 18 52 85 2015/7/21 15:04 \n",
+ "2 3 4 2 29 83 126 2015/7/21 13:24 \n",
+ "3 4 5 2 10 28 51 2015/7/25 17:33 \n",
+ "4 5 4 1 7 18 36 2015/8/10 9:50 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "7995 7996 2 2 29 82 124 2015/7/21 19:36 \n",
+ "7996 7997 3 1 12 32 61 2015/7/31 16:00 \n",
+ "7997 7998 4 1 16 46 78 2015/8/1 17:48 \n",
+ "7998 7999 3 1 1 1 8 2015/9/22 18:52 \n",
+ "7999 8000 4 1 1 1 3 2015/9/28 20:22 \n",
+ "\n",
+ " gender birth nationality ... family_income family_m family_status \\\n",
+ "0 1 1959 1 ... 60000.0 2 2 \n",
+ "1 1 1992 1 ... 40000.0 3 4 \n",
+ "2 2 1967 1 ... 8000.0 3 3 \n",
+ "3 2 1943 1 ... 12000.0 3 3 \n",
+ "4 2 1994 1 ... -2.0 4 3 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "7995 1 1981 1 ... 50000.0 1 3 \n",
+ "7996 2 1945 1 ... 19200.0 1 2 \n",
+ "7997 2 1967 1 ... -2.0 3 2 \n",
+ "7998 2 1978 1 ... 170000.0 1 3 \n",
+ "7999 2 1991 1 ... 48000.0 1 3 \n",
+ "\n",
+ " house car marital status_peer status_3_before view inc_ability \n",
+ "0 1 2 3 3 2 4 3 \n",
+ "1 1 2 1 1 1 4 2 \n",
+ "2 1 2 3 2 1 4 2 \n",
+ "3 1 1 7 2 1 3 2 \n",
+ "4 1 1 1 3 2 3 -8 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "7995 0 1 3 1 2 2 3 \n",
+ "7996 1 2 7 2 1 5 2 \n",
+ "7997 1 2 3 3 1 4 -8 \n",
+ "7998 -1 2 1 2 1 4 2 \n",
+ "7999 1 2 1 2 2 3 3 \n",
+ "\n",
+ "[8000 rows x 42 columns]"
+ ]
+ },
+ "execution_count": 185,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import pandas as pd\n",
+ "df=pd.read_csv('2、幸福感数据分析/happiness_train_abbr.csv.')\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "累计是8000行,也就是总共8000个样本。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "其中我们注意到id旁边第一列,就是我们要分析的因变量————幸福的指数。我们可以看一下该数据集中这个因变量一共有多少个等级,并同时统计出各个数量。"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 186,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "{1, 2, 3, 4, 5, -8}\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "Counter({4: 4818, 5: 1410, 2: 497, 3: 1159, 1: 104, -8: 12})"
+ ]
+ },
+ "execution_count": 186,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "print(set(df[\"happiness\"]))\n",
+ "from collections import Counter\n",
+ "Counter(df[\"happiness\"])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "也就是说,对于幸福指数这一自变量,在数据集中有-8,以及1-5。\n",
+ "\n",
+ "从1到5,也即从很不幸福到很幸福。\n",
+ "\n",
+ "我们发现:等级达到4及以上的,也即能感到幸福的,占了大多数因素。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 一:数据的预处理"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 1:对于happiness中-8的处理"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "对于在幸福指数中出现的-8,一方面结合心理测评的常识,我们认为应该为1-5;而另一方面,我们发现-8出现的频次在数据集中仅1%\n",
+ "\n",
+ "因此,我们认为-8应该是出现的意外值。\n",
+ "\n",
+ "所以我们决定将-8进行替换。而结合我们常做心理测评的经验,我们认为应该填补3。\n",
+ "\n",
+ "因为1-5之间3可以表示为“一般般”,或者“不确定”。对于替换的对象,我们无法确定其真实的幸福值,所以统一填补为3。 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 187,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([4, 5, 2, 3, 1], dtype=int64)"
+ ]
+ },
+ "execution_count": 187,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"happiness\"]=df[\"happiness\"].replace(-8,3)\n",
+ "df[\"happiness\"].unique()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 2:对于缺失值的处理\n",
+ "\n",
+ "由于列数比较多,我们不直接采用 `df.info()`来查询isnull 的情况,而是手写一个dictionary。仅在列中出现null时才显示,并显示null个数。"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 189,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'work_status': 5049,\n",
+ " 'work_yr': 5049,\n",
+ " 'work_type': 5049,\n",
+ " 'work_manage': 5049,\n",
+ " 'family_income': 1}"
+ ]
+ },
+ "execution_count": 189,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "isnull_dict={}\n",
+ "for name in df.columns:\n",
+ " if df[name].isnull().sum()>0:\n",
+ " isnull_dict[name]=df[name].isnull().sum()\n",
+ "isnull_dict"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "可见family_income 只有一个缺失值\n",
+ "\n",
+ "而work_status,yr,type 这些都有很大部分缺失。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "对于family_income,仅有一个缺失值,我们直接均值填充之————"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 190,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'work_status': 5049, 'work_yr': 5049, 'work_type': 5049, 'work_manage': 5049}"
+ ]
+ },
+ "execution_count": 190,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"family_income\"]=df[\"family_income\"].fillna(df[\"family_income\"].mean())\n",
+ "isnull_dict={}\n",
+ "for name in df.columns:\n",
+ " if df[name].isnull().sum()>0:\n",
+ " isnull_dict[name]=df[name].isnull().sum()\n",
+ "isnull_dict"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "而由于余下因素,由于缺失值过多,相当于基本残缺不全,无法分析,故剔除。\n",
+ "\n",
+ "此外,我们还把第一列的id也剔除掉。"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 191,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " happiness | \n",
+ " survey_type | \n",
+ " province | \n",
+ " city | \n",
+ " county | \n",
+ " survey_time | \n",
+ " gender | \n",
+ " birth | \n",
+ " nationality | \n",
+ " religion | \n",
+ " ... | \n",
+ " family_income | \n",
+ " family_m | \n",
+ " family_status | \n",
+ " house | \n",
+ " car | \n",
+ " marital | \n",
+ " status_peer | \n",
+ " status_3_before | \n",
+ " view | \n",
+ " inc_ability | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 12 | \n",
+ " 32 | \n",
+ " 59 | \n",
+ " 2015/8/4 14:18 | \n",
+ " 1 | \n",
+ " 1959 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 60000.0 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 4 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ " 18 | \n",
+ " 52 | \n",
+ " 85 | \n",
+ " 2015/7/21 15:04 | \n",
+ " 1 | \n",
+ " 1992 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 40000.0 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ " 29 | \n",
+ " 83 | \n",
+ " 126 | \n",
+ " 2015/7/21 13:24 | \n",
+ " 2 | \n",
+ " 1967 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 8000.0 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ " 10 | \n",
+ " 28 | \n",
+ " 51 | \n",
+ " 2015/7/25 17:33 | \n",
+ " 2 | \n",
+ " 1943 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 12000.0 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 7 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 7 | \n",
+ " 18 | \n",
+ " 36 | \n",
+ " 2015/8/10 9:50 | \n",
+ " 2 | \n",
+ " 1994 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " -2.0 | \n",
+ " 4 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " -8 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 37 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " happiness survey_type province city county survey_time gender \\\n",
+ "0 4 1 12 32 59 2015/8/4 14:18 1 \n",
+ "1 4 2 18 52 85 2015/7/21 15:04 1 \n",
+ "2 4 2 29 83 126 2015/7/21 13:24 2 \n",
+ "3 5 2 10 28 51 2015/7/25 17:33 2 \n",
+ "4 4 1 7 18 36 2015/8/10 9:50 2 \n",
+ "\n",
+ " birth nationality religion ... family_income family_m family_status \\\n",
+ "0 1959 1 1 ... 60000.0 2 2 \n",
+ "1 1992 1 1 ... 40000.0 3 4 \n",
+ "2 1967 1 0 ... 8000.0 3 3 \n",
+ "3 1943 1 1 ... 12000.0 3 3 \n",
+ "4 1994 1 1 ... -2.0 4 3 \n",
+ "\n",
+ " house car marital status_peer status_3_before view inc_ability \n",
+ "0 1 2 3 3 2 4 3 \n",
+ "1 1 2 1 1 1 4 2 \n",
+ "2 1 2 3 2 1 4 2 \n",
+ "3 1 1 7 2 1 3 2 \n",
+ "4 1 1 1 3 2 3 -8 \n",
+ "\n",
+ "[5 rows x 37 columns]"
+ ]
+ },
+ "execution_count": 191,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df1=df.drop(labels=[\"id\",\"work_status\",\"work_yr\",\"work_type\",\"work_manage\"],axis=1)\n",
+ "df1.head()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "也即我们从刚才42列删除5列变为37列。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 3:年龄的计算\n",
+ "在数据集中,我们发现survey_time 和birth这两列。其中birth这一列反映的是出生年份\n",
+ "\n",
+ "从这两列中,我们将survey_time 减去birth,可以得到每个人的年龄。\n",
+ "\n",
+ "我们考虑到对年龄因素,所以此处也经过处理"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 192,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " happiness | \n",
+ " survey_type | \n",
+ " province | \n",
+ " city | \n",
+ " county | \n",
+ " gender | \n",
+ " age | \n",
+ " nationality | \n",
+ " religion | \n",
+ " religion_freq | \n",
+ " ... | \n",
+ " family_income | \n",
+ " family_m | \n",
+ " family_status | \n",
+ " house | \n",
+ " car | \n",
+ " marital | \n",
+ " status_peer | \n",
+ " status_3_before | \n",
+ " view | \n",
+ " inc_ability | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 12 | \n",
+ " 32 | \n",
+ " 59 | \n",
+ " 1 | \n",
+ " 56 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 60000.0 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 4 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ " 18 | \n",
+ " 52 | \n",
+ " 85 | \n",
+ " 1 | \n",
+ " 23 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 40000.0 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ " 29 | \n",
+ " 83 | \n",
+ " 126 | \n",
+ " 2 | \n",
+ " 48 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ " ... | \n",
+ " 8000.0 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ " 10 | \n",
+ " 28 | \n",
+ " 51 | \n",
+ " 2 | \n",
+ " 72 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 12000.0 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 7 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 7 | \n",
+ " 18 | \n",
+ " 36 | \n",
+ " 2 | \n",
+ " 21 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " -2.0 | \n",
+ " 4 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " -8 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 7995 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 29 | \n",
+ " 82 | \n",
+ " 124 | \n",
+ " 1 | \n",
+ " 34 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 50000.0 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 7996 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 12 | \n",
+ " 32 | \n",
+ " 61 | \n",
+ " 2 | \n",
+ " 70 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 19200.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 7 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 7997 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 16 | \n",
+ " 46 | \n",
+ " 78 | \n",
+ " 2 | \n",
+ " 48 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " -2.0 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " -8 | \n",
+ "
\n",
+ " \n",
+ " | 7998 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 8 | \n",
+ " 2 | \n",
+ " 37 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 170000.0 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " -1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 7999 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 24 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " ... | \n",
+ " 48000.0 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
8000 rows × 36 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " happiness survey_type province city county gender age \\\n",
+ "0 4 1 12 32 59 1 56 \n",
+ "1 4 2 18 52 85 1 23 \n",
+ "2 4 2 29 83 126 2 48 \n",
+ "3 5 2 10 28 51 2 72 \n",
+ "4 4 1 7 18 36 2 21 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "7995 2 2 29 82 124 1 34 \n",
+ "7996 3 1 12 32 61 2 70 \n",
+ "7997 4 1 16 46 78 2 48 \n",
+ "7998 3 1 1 1 8 2 37 \n",
+ "7999 4 1 1 1 3 2 24 \n",
+ "\n",
+ " nationality religion religion_freq ... family_income family_m \\\n",
+ "0 1 1 1 ... 60000.0 2 \n",
+ "1 1 1 1 ... 40000.0 3 \n",
+ "2 1 0 3 ... 8000.0 3 \n",
+ "3 1 1 1 ... 12000.0 3 \n",
+ "4 1 1 1 ... -2.0 4 \n",
+ "... ... ... ... ... ... ... \n",
+ "7995 1 1 1 ... 50000.0 1 \n",
+ "7996 1 1 1 ... 19200.0 1 \n",
+ "7997 1 1 1 ... -2.0 3 \n",
+ "7998 1 1 1 ... 170000.0 1 \n",
+ "7999 1 1 1 ... 48000.0 1 \n",
+ "\n",
+ " family_status house car marital status_peer status_3_before view \\\n",
+ "0 2 1 2 3 3 2 4 \n",
+ "1 4 1 2 1 1 1 4 \n",
+ "2 3 1 2 3 2 1 4 \n",
+ "3 3 1 1 7 2 1 3 \n",
+ "4 3 1 1 1 3 2 3 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "7995 3 0 1 3 1 2 2 \n",
+ "7996 2 1 2 7 2 1 5 \n",
+ "7997 2 1 2 3 3 1 4 \n",
+ "7998 3 -1 2 1 2 1 4 \n",
+ "7999 3 1 2 1 2 2 3 \n",
+ "\n",
+ " inc_ability \n",
+ "0 3 \n",
+ "1 2 \n",
+ "2 2 \n",
+ "3 2 \n",
+ "4 -8 \n",
+ "... ... \n",
+ "7995 3 \n",
+ "7996 2 \n",
+ "7997 -8 \n",
+ "7998 2 \n",
+ "7999 3 \n",
+ "\n",
+ "[8000 rows x 36 columns]"
+ ]
+ },
+ "execution_count": 192,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import datetime\n",
+ "df1[\"survey_time\"] = pd.to_datetime(df1[\"survey_time\"])\n",
+ "df1[\"survey_time\"] = df1[\"survey_time\"].dt.year\n",
+ "df1[\"age\"]=df1[\"survey_time\"]-df1[\"birth\"]\n",
+ "df1.drop([\"survey_time\",\"birth\"],axis=1,inplace=True)\n",
+ "a=df1.pop(\"age\")\n",
+ "df1.insert(6,\"age\",a)\n",
+ "# 为了方便起见,把age一列挪到前面。同时把survey_time 和birth这两列就去掉。\n",
+ "df1"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "由此我们将其变换为了age,也即年龄,便于划分。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 二:数据的探索性分析"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "我们首先画出1-5各个幸福等级的占比饼图和条形图"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 194,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Counter({4: 4818, 5: 1410, 3: 1171, 2: 497, 1: 104})\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "print(Counter(df1[\"happiness\"]))\n",
+ "f,ax=plt.subplots(1,2,figsize=(12,5))\n",
+ "df1[\"happiness\"].value_counts().plot.pie(ax=ax[0],autopct=\"%1.1f%%\")\n",
+ "ax[0].set_title(\"Proportion\")\n",
+ "import seaborn as sns\n",
+ "df1[\"happiness\"].value_counts().plot(ax=ax[1],kind=\"bar\")\n",
+ "ax[1].set_title(\"Count\")\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "由图可知,77.8%的调查人员幸福等级大于等于4,是比较幸福的,仅有7.5%的人幸福等级小于等于2,比较不幸福。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "我们探索了自变量有如下:"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.7"
+ },
+ "orig_nbformat": 4
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}