import pandas as pd # 读取原始数据表 df_src = pd.read_excel("data/data_src.xlsx") # 处理父亲教养方式数字化 df_src['父亲教养方式数字化'] = df_src['父亲教养方式'].apply(lambda x: 0.59 if x == '温暖与理解' else 0.46) # 处理母亲教养方式数字化 df_src['母亲教养方式数字化'] = df_src['母亲教养方式'].apply(lambda x: 0.69 if x == '温暖与理解' else 0.56) # 处理自评家庭经济条件数字化 df_src['自评家庭经济条件数字化'] = df_src['自评家庭经济条件'].apply(lambda x: 0.54 if x in ['贫困', '较差'] else 0.47) # 处理有无心理治疗(咨询)史数字化 df_src['有无心理治疗(咨询)史数字化'] = df_src['心理治疗(咨询)史'].apply(lambda x: 0.09 if x in ['无', '没有'] else 0.21) # 处理强迫症状数字化 df_src['强迫症状数字化'] = df_src['强迫症状'] / 4 # 处理人际关系敏感症状数字化 df_src['人际关系敏感症状数字化'] = df_src['人际关系敏感'] / 4 # 处理抑郁症状数字化 df_src['抑郁症状数字化'] = df_src['抑郁'] / 4 # 计算多因子症状 df_src['多因子症状'] = df_src[['躯体化', '强迫症状', '人际关系敏感', '抑郁', '焦虑', '敌对', '恐怖', '偏执', '精神病性', '其他']].apply(lambda row: sum(row > 3.0) / 10, axis=1) # 选择需要复制的列 columns_to_copy = ['编号', '性别', '年龄', '父亲教养方式', '父亲教养方式数字化', '母亲教养方式', '母亲教养方式数字化', '自评家庭经济条件', '自评家庭经济条件数字化', '心理治疗(咨询)史', '有无心理治疗(咨询)史数字化', '躯体化', '强迫症状', '强迫症状数字化', '人际关系敏感', '人际关系敏感症状数字化', '抑郁', '抑郁症状数字化', '焦虑', '敌对', '恐怖', '偏执', '精神病性', '其他', '多因子症状'] # 复制选定的列到新表 df_feature = df_src[columns_to_copy].copy() # 保存新表 df_feature.to_excel("feature.xlsx", index=False)