2.1.2
在应对气候变化的背景下,了解和促进低碳生活行为变得越来越重要。现要求根据提供的“大学生低碳生活行为的影响因素数据集”,选择合适的特征,开发一个预测大学生低碳生活行为的模型。提供的数据集样本数据包含300多个关于大学生低碳生活行为的自变量和因变量。自变量为主观规范、知觉行为控制、低碳行为态度,中介变量为行为意愿,因变量为低碳生活行为。同时,性别、生源地、月生活费作为控制变量进行研究。在开发预测模型之前,首先要对数据进行数据清洗和标注。补全2.1.2.ipynb代码。完成下面的数据预处理任务,并设计一套标注流程规范:
(1)正确加载数据集,并显示前五行的数据;
(2)检查数据集中的缺失值,使用删除包含缺失值的行的办法处理,记录缺失值处理后的数据行数;
(3)检查数据集中的重复值并删除所有重复值,并记录删除的行数;
(4)对数值型数据进行标准化处理,确保数据在同一量纲下进行分析;
(5)根据业务需求和数据特性,选择对低碳生活行为预测最有用的特征,将“低碳行为积极性”设为目标变量并标注。选择以下特征:
1.您的性别○男性 ○女性
2.您的年级○大一 ○大二 ○大三 ○大四
3.您的生源地○农村 ○城镇(乡镇) ○地县级城市 ○省会城市及直辖市
4.您的月生活费○≦1,000元 ○1,001-2,000元 ○2,001-3,000元 ○≧3,001元
5.您进行过绿色低碳的相关生活方式吗?
6.您觉得“低碳”,与你的生活关系密切吗?
7.低碳生活是否会成为未来的主流生活方式?
8.您是否认为低碳生活会提高您的生活质量?
(6)对数据进行划分(8:2);
(7)保存处理后的数据,并命名为:2.1.2_cleaned_data.csv,保存到考生文件夹;
(8)制定数据清洗和标注规范,将答案写到答题卷文件中,答题卷文件命名为“2.1.2.docx”,保存到考生文件夹;
(9)将以上代码以及运行结果,以html格式保存并命名为2.1.2.html,保存到考生文件夹,考生文件夹命名为“准考证号+身份证后6位”。
import pandas as pd
#读取一个Excel文件,并将读取到的数据存储在变量data中
data = pd.read_excel('大学生低碳生活行为的影响因素数据集.xlsx')
#打印出数据集的前5行
print(data.head())
#处理数据集中的缺失值
initial_row_count = data.shape[0] #处理前的数据行数
data = data.dropna() #删除缺失值所在行
final_row_count = data.shape[0] #处理后的数据行数
print(f'处理后数据行数: {final_row_count}, 删除的行数: {initial_row_count - final_row_count}')
#删除重复行
data = data.drop_duplicates()
from sklearn.preprocessing import StandardScaler
numerical_features = ['4.您的月生活费○≦1,000元 ○1,001-2,000元 ○2,001-3,000元 ○≧3,001元']
scaler = StandardScaler()
data[numerical_features] = scaler.fit_transform(data[numerical_features])
#选择特征
selected_features = ['1.您的性别○男性 ○女性','2.您的年级○大一 ○大二 ○大三 ○大四'
,'3.您的生源地○农村 ○城镇(乡镇) ○地县级城市 ○省会城市及直辖市'
, '4.您的月生活费○≦1,000元 ○1,001-2,000元 ○2,001-3,000元 ○≧3,001元', '5.您进行过绿色低碳的相关生活方式吗?'
,'6.您觉得“低碳”,与你的生活关系密切吗?'
,'7.低碳生活是否会成为未来的主流生活方式?', '8.您是否认为低碳生活会提高您的生活质量?']
X = data[selected_features]
# 创建目标变量
y = data['低碳行为积极性']
from sklearn.model_selection import train_test_split
# 数据划分(测试集取20%)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 合并处理后得数据,并将其保存(保存中不用额外创建索引)
cleaned_data = pd.concat([X, y], axis=1)
cleaned_data.to_csv('2.1.2_cleaned_data.csv', index = False)
序号 所用时间 1.您的性别○男性 ○女性 ... 避免使用一次性产品 劝说周围的人进行低碳生活 低碳行为积极性
0 1 130秒 1 ... 4 3 0
1 2 82秒 1 ... 4 4 0
2 3 230秒 1 ... 3 3 0
3 4 96秒 1 ... 2 2 0
4 6 157秒 1 ... 4 3 0
[5 rows x 41 columns]
处理后数据行数: 305, 删除的行数: 13
import pandas as pd
#读取一个Excel文件,并将读取到的数据存储在变量data中
data = pd.read_excel('大学生低碳生活行为的影响因素数据集.xlsx')
#打印出数据集的前5行
print(data.head())
序号 所用时间 1.您的性别○男性 ○女性 ... 避免使用一次性产品 劝说周围的人进行低碳生活 低碳行为积极性
0 1 130秒 1 ... 4 3 0
1 2 82秒 1 ... 4 4 0
2 3 230秒 1 ... 3 3 0
3 4 96秒 1 ... 2 2 0
4 6 157秒 1 ... 4 3 0
[5 rows x 41 columns]
#处理数据集中的缺失值
initial_row_count = data.shape[0] #处理前的数据行数
data = data.dropna() #删除缺失值所在行
final_row_count = data.shape[0] #处理后的数据行数
print(f'处理后数据行数: {final_row_count}, 删除的行数: {initial_row_count - final_row_count}')
处理后数据行数: 305, 删除的行数: 0
#删除重复行
data = data.drop_duplicates()
print(data)
序号 所用时间 1.您的性别○男性 ○女性 ... 避免使用一次性产品 劝说周围的人进行低碳生活 低碳行为积极性
0 1 130秒 1 ... 4 3 0
1 2 82秒 1 ... 4 4 0
2 3 230秒 1 ... 3 3 0
3 4 96秒 1 ... 2 2 0
4 6 157秒 1 ... 4 3 0
.. ... ... ... ... ... ... ...
313 403 178秒 1 ... 5 5 0
314 404 165秒 1 ... 3 3 0
315 406 175秒 1 ... 5 4 0
316 407 184秒 1 ... 1 1 0
317 408 101秒 2 ... 4 4 0
[275 rows x 41 columns]
import pandas as pd
#读取一个Excel文件,并将读取到的数据存储在变量data中
data = pd.read_excel('大学生低碳生活行为的影响因素数据集.xlsx')
#打印出数据集的前5行
print(data.head())
#处理数据集中的缺失值
initial_row_count = data.shape[0] #处理前的数据行数
data = data.dropna() #删除缺失值所在行
final_row_count = data.shape[0] #处理后的数据行数
print(f'处理后数据行数: {final_row_count}, 删除的行数: {initial_row_count - final_row_count}')
#删除重复行
data = data.drop_duplicates()
print(data.shape[0])
from sklearn.preprocessing import StandardScaler
numerical_features = ['4.您的月生活费○≦1,000元 ○1,001-2,000元 ○2,001-3,000元 ○≧3,001元']
scaler = StandardScaler()
print(data[numerical_features])
data[numerical_features] = scaler.fit_transform(data[numerical_features])
序号 所用时间 1.您的性别○男性 ○女性 2.您的年级○大一 ○大二 ○大三 ○大四
0 1 130秒 1 2.0
1 2 82秒 1 2.0
2 3 230秒 1 2.0
3 4 96秒 1 2.0
4 6 157秒 1 2.0
3.您的生源地○农村 ○城镇(乡镇) ○地县级城市 ○省会城市及直辖市
0 2.0
1 3.0
2 3.0
3 2.0
4 1.0
4.您的月生活费○≦1,000元 ○1,001-2,000元 ○2,001-3,000元 ○≧3,001元
0 2.0
1 2.0
2 2.0
3 2.0
4 2.0
5.您进行过绿色低碳的相关生活方式吗? 6.您觉得“低碳”,与你的生活关系密切吗? 7.低碳生活是否会成为未来的主流生活方式?
0 1.0 1.0 1.0
1 1.0 1.0 2.0
2 1.0 1.0 2.0
3 2.0 2.0 2.0
4 1.0 1.0 2.0
8.您是否认为低碳生活会提高您的生活质量? ... 我有足够知识进行低碳生活 14.我打算以后…—减少使用一次性产品 合理处理生活中的废弃物
0 2 ... 5 4 4
1 2 ... 4 4 3
2 3 ... 3 4 5
3 2 ... 2 2 5
4 2 ... 4 5 5
在日常生活中会进行垃圾分类 尽可能劝说周围的人进行低碳生活 15.日常生活中,我会......—对垃圾进行分类 重复利用废旧物品
0 3 3 3 4
1 4 5 4 3
2 3 3 3 4
3 2 2 2 2
4 5 5 5 5
避免使用一次性产品 劝说周围的人进行低碳生活 低碳行为积极性
0 4 3 0
1 4 4 0
2 3 3 0
3 2 2 0
4 4 3 0
[5 rows x 41 columns]
处理后数据行数: 305, 删除的行数: 13
275
4.您的月生活费○≦1,000元 ○1,001-2,000元 ○2,001-3,000元 ○≧3,001元
0 2.0
1 2.0
2 2.0
3 2.0
4 2.0
.. ...
313 1.0
314 3.0
315 4.0
316 2.0
317 2.0
[275 rows x 1 columns]