如何使用for循环简化Pandas多列特征拼接语句?
用for循环简化特征拼接
你可以通过遍历selected_features列表逐步拼接特征,彻底消除重复写列名的冗余代码:
courses_data = pd.read_csv('.........') selected_features = ['course_name','course_link','university_name','course_type', 'university_logo', 'time_required', 'course_language', 'course_subtitles', 'course_skills', 'course_rating', 'category', 'sub_category', 'course_level'] # 初始化拼接结果为第一个特征列 combined_features = courses_data[selected_features[0]] # 遍历剩余特征列,逐个拼接空格与对应列内容 for feature in selected_features[1:]: combined_features = combined_features + ' ' + courses_data[feature] print(combined_features)
更高效的替代方案(无需for循环)
如果追求代码简洁性与运行效率,推荐使用pandas内置的agg方法,能更优雅地实现相同效果:
combined_features = courses_data[selected_features].agg(' '.join, axis=1) print(combined_features)
该方法会沿行方向,将每一行的指定特征列用空格连接,输出格式与你原代码完全一致。
内容的提问来源于stack exchange,提问作者Amir Alizadeh
相关产品推荐
相关产品推荐

