Python如何将for循环生成的列表添加为Pandas DataFrame新列
具体操作方法
方法1:直接适配现有代码添加
你当前生成的y1、y2、y3三个列表的长度和原DataFrame的行数完全一致,直接通过列赋值语法即可添加为新列:
# 依次赋值新列 archivo['y1'] = y1 archivo['y2'] = y2 archivo['y3'] = y3
操作完成后archivo就会包含这三个新列,不需要额外调整你之前写的循环逻辑。
方法2:优化实现逻辑(更高效)
你原来用for循环生成列表的逻辑可以替换为Pandas向量化操作,无需额外定义中间列表,运行效率更高,代码更简洁:
import pandas as pd archivo = pd.read_csv('winequalityN.csv') # 直接通过布尔判断生成新列,布尔值转int时True对应1、False对应0,和你的原逻辑完全一致 archivo['y1'] = (archivo['quality'] >= 7).astype(int) archivo['y2'] = ((archivo['quality'] >= 5) & (archivo['quality'] < 7)).astype(int) archivo['y3'] = (archivo['quality'] < 5).astype(int)
内容的提问来源于stack exchange,提问作者Regina Briseño
相关产品推荐
相关产品推荐

