In [5]:
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
#读取一个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
# 数据划分
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.您的性别○男性 ○女性 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
In [ ]: