我有一个尺寸(2000行x 10列)的数据框(DF)。
如果满足以下条件,则代码的结构是多个嵌套的:
DF['NewColumn']=''
for i in range (0, len(DF))
if condition
define variable etc
if condition
DF['NewColumn'].values[i]= some value
else:
DF['NewColumn'].values[i]= some value
等
基本上,我遍历数据框的每一行,检查条件,并根据一组if条件填充新列的每一行。
很抱歉,如果我的问题不够具体,但我正在寻找更有效地编码此问题的方法。我很想听听您的想法。
我可以使用类还是向量化?我不确定如何重组我的问题
非常感谢
答案 0 :(得分:0)
您可以像这样将循环矢量化
temp = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
condition1 = (temp["A"] > 20) & (temp["B"] < 20)
temp["NewColumn"] = condition1.astype(int)
condition2 = (temp["C"] > 20) & (temp["A"] < 50)
temp["NewColumn2"] = np.where(condition2, "between", "out")