【发布时间】:2021-09-14 01:56:04
【问题描述】:
我有一个数据框和列表,这些列表是我使用数据框上的值从一些 for 循环中生成的。但是我希望这个列表成为数据框的列。
archivo=pd.read_csv('winequalityN.csv') #this is my file
Y=archivo['quality'] #a column from the data frame
y1=[]
for y in Y:
if y < 7:
y1.append(0)
else:
y1.append(1)
y2=[]
for y in Y:
if 5<= y < 7:
y2.append(1)
else:
y2.append(0)
y3=[]
for y in Y:
if y < 5:
y3.append(1)
else:
y3.append(0)
我想在我的数据框上为每个列表创建一列。
【问题讨论】:
-
只是一个巧妙的技巧。可以简化一些构造:
y1 = [int(y >= 7) for y in Y] -
我不清楚目标是什么。您是否正在寻找类似
archivo['new col'] = archivo['quality'].ge(7).astype(int)的东西(对于第一个)?你以后需要其他东西的清单吗?您是将列表添加到列中的单元格还是动态构建新列? -
我的目标是将 y1、y2 和 y3 添加为档案的列。我只是不清楚该怎么做。
标签: python pandas dataframe for-loop